草庐IT

Duck-typing

全部标签

c++ - 错误 : invalid initialization of reference of type 'int&' from expression of type 'const int'

这是一个与thisquestion中的代码无关的问题。,关于以下模板函数。templateclassObject:publicContainer{public:T&object;Object(constT&obj):object(obj){}};这是调用构造函数的代码:templatevoidArray::add_element(constT&element){vec.push_back(newObject(element));}这段代码编译得很好,但是只要我在main中添加一行调用它:Arrayarray;inti=3;array.add_element(i);我收到编译器警告:er

C++ 警告 : anonymous type with no linkage used to declare variable

编译(gcc4.6.3,ubuntu)示例时看到此警告消息:struct{}a;intmain(){}warning:anonymoustypewithnolinkageusedtodeclarevariable‘a’withlinkage[enabledbydefault].GCC没有给出这个警告。只有G++可以。添加static清除警告:staticstruct{}a;我不明白它是什么意思,特别是为什么type与linkage相关。我认为链接取决于变量的声明位置和方式,而不取决于变量本身的类型。 最佳答案 这意味着变量a具有链接

C++ 警告 : anonymous type with no linkage used to declare variable

编译(gcc4.6.3,ubuntu)示例时看到此警告消息:struct{}a;intmain(){}warning:anonymoustypewithnolinkageusedtodeclarevariable‘a’withlinkage[enabledbydefault].GCC没有给出这个警告。只有G++可以。添加static清除警告:staticstruct{}a;我不明白它是什么意思,特别是为什么type与linkage相关。我认为链接取决于变量的声明位置和方式,而不取决于变量本身的类型。 最佳答案 这意味着变量a具有链接

C++ 模板 : Select different type based on value of template parameter

如何在C++中完成以下操作,这些事情叫什么?templateclassNuclearPowerplantControllerFactoryProviderFactory{//ifS==truetypedefintdata_t;//ifS==falsetypedefunsignedintdata_t;}; 最佳答案 按特化:templateclassFoo;templateclassFoo{typedefintdata_t;};templateclassFoo{typedefunsignedintdata_t;};您可以选择将这两种情

C++ 模板 : Select different type based on value of template parameter

如何在C++中完成以下操作,这些事情叫什么?templateclassNuclearPowerplantControllerFactoryProviderFactory{//ifS==truetypedefintdata_t;//ifS==falsetypedefunsignedintdata_t;}; 最佳答案 按特化:templateclassFoo;templateclassFoo{typedefintdata_t;};templateclassFoo{typedefunsignedintdata_t;};您可以选择将这两种情

C++:错误 "... is not derived from type ..."

templateclassBimap{public:classData;typedefData*DataP;typedefstd::multimapT1Map;typedefstd::multimapT2Map;classData{private:Bimap&bimap;T1Map::iteratorit1;/*...*/};};这给了我这个编译错误:error:type'std::multimap::Data*,std::less,std::allocator::Data*>>>'isnotderivedfromtype'Bimap::Data'这是什么意思?这里有什么问题?

C++:错误 "... is not derived from type ..."

templateclassBimap{public:classData;typedefData*DataP;typedefstd::multimapT1Map;typedefstd::multimapT2Map;classData{private:Bimap&bimap;T1Map::iteratorit1;/*...*/};};这给了我这个编译错误:error:type'std::multimap::Data*,std::less,std::allocator::Data*>>>'isnotderivedfromtype'Bimap::Data'这是什么意思?这里有什么问题?

C++ 错误 : 'unordered_map' does not name a type

据我所知,我所做的一切都是正确的,并且我收到了错误消息:error:'unordered_map'doesnotnameatypeerror:'mymap'doesnotnameatype在我的代码中,我有:#includeusingnamespacestd;//globalvariableunordered_mapmymap;mymap.reserve(7000);voidmain{return;}我看不出这里可能缺少什么......编辑:当我将声明更新为std::tr1::unordered_mapmymap;我能够消除第一个错误,但是当我尝试保留时,我仍然收到第二个错误消息。ED

C++ 错误 : 'unordered_map' does not name a type

据我所知,我所做的一切都是正确的,并且我收到了错误消息:error:'unordered_map'doesnotnameatypeerror:'mymap'doesnotnameatype在我的代码中,我有:#includeusingnamespacestd;//globalvariableunordered_mapmymap;mymap.reserve(7000);voidmain{return;}我看不出这里可能缺少什么......编辑:当我将声明更新为std::tr1::unordered_mapmymap;我能够消除第一个错误,但是当我尝试保留时,我仍然收到第二个错误消息。ED

c++ - C++ 中的 "Y does not name a type"错误

我不知道要搜索什么才能找到对此的解释,所以我问。我有这个报告错误的代码:structSettings{intwidth;intheight;}settings;settings.width=800;//'settings'doesnotnameatypeerrorsettings.height=600;//'settings'doesnotnameatypeerrorintmain(){cout但如果我将值赋值放在main中,它会起作用:structSettings{intwidth;intheight;}settings;main(){settings.width=800;//noe