草庐IT

prog_name

全部标签

C++ - 错误 : 'list' does not name a type (list object as member variable in class)

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭8年前。Improvethisquestion我经常遇到“'xxx'doesnotnameatype”错误,我之前读过的大多数帖子都提到这个错误是由于一些依赖性问题而发生的。但是,我似乎找不到我的。这是我得到的:GameLib.h#ifndefGAMELIB_H_#defineGAMELIB_H_//Structuresstructplayer

c++ - "expected nested-name-specifier before ‘const’ 错误“在 g++ 中类型名称为 const

我在C++中有这段代码templateclassDD:publicenumerables{...private:typenameconstDD&mContainer;}它给了我两条错误信息:错误:在“const”之前需要嵌套名称说明符错误:“&”标记前的声明符无效typenameconst有什么问题?代码?它使用MSVCC++编译得很好。已添加typenameDD&constmContainer;和consttypenameDD&mContainer;给我同样的错误。 最佳答案 那么,typename在那里做什么?您指的不是嵌套类型

c++ - 'struct std::pair<int, int >' has no member named ' 序列化'

我正在尝试将序列化集成到我的代码中。但是,我收到“没有命名的成员”错误。我正在阅读的书说std::pair不需要包含头文件并且不存在。如何修复此错误?我的代码如下所示:#include//ofstream/ifstream#include#include#include//stringstream#include//#include#include//#includeusingnamespacestd;intmain(){complexc(1,0);bitsetb(BOOST_BINARY(101));pairp(1,2);strings;std::stringstreamss(s);

c++ - cmake + xcode : error 'Build setting PRODUCT_NAME undefined'

我正在使用cmake2.8.3为xcode3.2.5生成一个C/C++项目文件;构建总体上很好,但每次生成xcode项目时我都必须手动设置“产品名称”(在Project/EditProjectSettings/Packaging中)。如果我未能设置此产品名称,xcode拒绝构建项目,并退出并报告以下错误:build设置PRODUCT_NAME未定义是否可以使用cmake设置这个值?还是不定义产品名称? 最佳答案 你试过这样的事情吗?set_target_properties(your_targetPROPERTIESXCODE_AT

c++ - boost named_mutex 和 remove() 命令

我有一个可以由多个线程创建的类。但是有一个函数需要保护代码,所以我决定使用boost进程间互斥体。每个类在其构造函数中创建或打开相同的Mutex:MyClass::MyClass(){boost::interprocess::named_mutexm_Lock(boost::interprocess::open_or_create,"myLock");}现在关键代码部分被调用了:intMyClass::MyFunction(){boost::interprocess::scoped_locklock(m_Lock,boost::interprocess::try_to_lock);if

c++ - 为什么 type_info::name() 未指定?

我完全知道std::type_info::name()的返回值是实现定义的。来自C++标准(ISO/IEC14882:2003§18.5.1.7):Returns:animplementation-definedNTBS.我的问题是:为什么?如果标准规定了返回值应该是什么,这个成员函数不是更有用吗? 最佳答案 基本上,如果一个实现决定他们不能或不想支持RTTI,他们可以return"";。如果标准强制它返回某些东西,他们可能会扼杀任何为RTTI资源不存在或想要禁用的环境(例如微芯片)提供兼容编译器的能力。别忘了我们不想在任何编译器上

c++ - "Universal character name conversion"在 C++ 中是什么意思?

C++98显然将此作为编译阶段的标准之一。什么意思,为什么一开始就执行? 最佳答案 通用字符名称类似于\uFFFD或\U0010FFFD。这是一种在源代码中写入字符的方法,其中源代码编码不包含该字符。C++规定在翻译的第一阶段将不在基本源字符集中的字符转换为通用字符名称。这样做的原因是通用字符名称和不在基本源字符集中但在源字符集中的字符得到相同的处理。as-if规则意味着实际上不需要实现来执行此通用字符名称转换,只要它把写为通用字符名称的扩展字符与字面上显示的扩展字符相同在源代码中。 关

没有宏的 C++ 简单反射 : Print Variable Name and Its Value

在C++中是否有一种非宏的方式来打印变量名及其值。这是宏方法:#defineSHOW(a)std::coutPS:我用的是Linux,不需要跨平台的解决方案 最佳答案 不,C++不支持反射,唯一的方法(据我所知)是使用宏。 关于没有宏的C++简单反射:PrintVariableNameandItsValue,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6849965/

c++ - 使用 typeinfo::name() 后内存泄漏

我有一个程序,其中部分用于信息日志记录,我在使用时输出一些类的名称(具体来说,我在日志中添加了一个条目,上面写着Messages::CSomeClasstransmittedto127.0.0.1)。我使用类似于以下的代码执行此操作:std::stringgetMessageName(void)const{returnstd::string(typeid(*this).name());}是的,在有人指出之前,我意识到typeinfo::name的输出是特定于实现的。根据MSDNThetype_info::namememberfunctionreturnsaconstchar*toanu

c++ - 模板错误 : nontype ".. [with T=T] is not a type name"

尝试对我的内存对齐进行类型定义,我得出了以下结构(由于我需要更正GNU版本,该结构仍在进行中):#ifdefined(__GNUG__)templatestructsfo_type{typedefT*restrict__attribute__((aligned(32)))aptr32;};#elifdefined(__INTEL_COMPILER)templatestructsfo_type{typedefT*restrict__attribute__((aligned(32)))aptr32;};#endif然后我尝试像这样使用它:templateclasstsfo_vector{p