草庐IT

member-hiding

全部标签

c++ vector.push_back 错误: request for member 'push_back' . ..,属于非类类型 'vector(char, allocator(char)) ()()'

我将Cygwin与GCC一起使用,最终我想将字rune件读入字符vector,并使用此代码#include#include#includeusingnamespacestd;intmain(intargc,char*argv[]){vectorstring1();string1.push_back('a');return0;}生成此编译时错误:main.cpp:Infunctionintmain(int,char**)':main.cpp:46:error:requestformemberpush_back'instring1',whichisofnon-classtypestd::v

c++ vector.push_back 错误: request for member 'push_back' . ..,属于非类类型 'vector(char, allocator(char)) ()()'

我将Cygwin与GCC一起使用,最终我想将字rune件读入字符vector,并使用此代码#include#include#includeusingnamespacestd;intmain(intargc,char*argv[]){vectorstring1();string1.push_back('a');return0;}生成此编译时错误:main.cpp:Infunctionintmain(int,char**)':main.cpp:46:error:requestformemberpush_back'instring1',whichisofnon-classtypestd::v

c++ - VS2015 : How to hide the 'References' folder in solution explorer?

我有visualstudio2015,从过去的经验来看,有一些文件夹有些人通常不想要,兴奋的是,这些(红色):但是,我设法通过将“禁用外部依赖文件夹”文件夹选项设置为true来解决这个问题,并得到了这个:但我找不到任何禁用剩余虚拟文件夹的选项,我该如何禁用“引用”文件夹? 最佳答案 我不认为禁用引用文件夹是可能的。Thisuservoicesuggestion被称为“添加选项以禁用解决方案资源管理器选项卡中的引用文件夹”并且仍然处于打开状态。 关于c++-VS2015:Howtohide

c++ - VS2015 : How to hide the 'References' folder in solution explorer?

我有visualstudio2015,从过去的经验来看,有一些文件夹有些人通常不想要,兴奋的是,这些(红色):但是,我设法通过将“禁用外部依赖文件夹”文件夹选项设置为true来解决这个问题,并得到了这个:但我找不到任何禁用剩余虚拟文件夹的选项,我该如何禁用“引用”文件夹? 最佳答案 我不认为禁用引用文件夹是可能的。Thisuservoicesuggestion被称为“添加选项以禁用解决方案资源管理器选项卡中的引用文件夹”并且仍然处于打开状态。 关于c++-VS2015:Howtohide

c++ - "hide"通过在派生类中将基类虚函数设为纯虚函数是否有效?

考虑这个例子:#includeclassA{public:virtualvoidf();};voidA::f(){std::coutA::f()实现是C类“隐藏”的,它为f()提供了自己的实现-有效地使A::f()或多或少毫无意义。我认为这种类层次结构设计没有什么值(value),但我的问题是这是一个有效的C++还是只是“有效”(例如未定义的行为)? 最佳答案 标准明确允许和支持(例如,参见this在线C++标准草案),因此显然不是未定义的行为:10.4Abstractclasses5[Note:Anabstractclasscan

c++ - "hide"通过在派生类中将基类虚函数设为纯虚函数是否有效?

考虑这个例子:#includeclassA{public:virtualvoidf();};voidA::f(){std::coutA::f()实现是C类“隐藏”的,它为f()提供了自己的实现-有效地使A::f()或多或少毫无意义。我认为这种类层次结构设计没有什么值(value),但我的问题是这是一个有效的C++还是只是“有效”(例如未定义的行为)? 最佳答案 标准明确允许和支持(例如,参见this在线C++标准草案),因此显然不是未定义的行为:10.4Abstractclasses5[Note:Anabstractclasscan

c++ - 公共(public)算子新建,私有(private)算子删除 : getting C2248 "can not access private member" when using new

一个类有重载的操作符new和delete。new是公开的,delete是私有(private)的。在构造该类的实例时,出现以下错误:pFoo=newFoo(bar)example.cpp(1):错误C2248:'Foo:operatordelete':无法访问在类'Foo'中声明的私有(private)成员但是这里没有调用delete,那么编译器扭曲的头脑中发生了什么?:)错误的原因是什么?是否可以在不借助成员CreateInstance函数的情况下解决问题? 最佳答案 当您执行newFoo()时,会发生两件事:首先调用operat

c++ - 公共(public)算子新建,私有(private)算子删除 : getting C2248 "can not access private member" when using new

一个类有重载的操作符new和delete。new是公开的,delete是私有(private)的。在构造该类的实例时,出现以下错误:pFoo=newFoo(bar)example.cpp(1):错误C2248:'Foo:operatordelete':无法访问在类'Foo'中声明的私有(private)成员但是这里没有调用delete,那么编译器扭曲的头脑中发生了什么?:)错误的原因是什么?是否可以在不借助成员CreateInstance函数的情况下解决问题? 最佳答案 当您执行newFoo()时,会发生两件事:首先调用operat

c++ - 我可以忽略 gcc 警告 : ‘Foo::m_bar’ should be initialized in the member initialization list [-Weffc++]

structBar{Bar(){}};structFoo{Foo()=default;Barm_bar;};intmain(){Foofoo;}当使用C++11default关键字和gcc警告-Weffc++时,gcc输出:warning:‘Foo::m_bar’shouldbeinitializedinthememberinitializationlist[-Weffc++]忽略此警告是否安全?我应该向gcc提交错误吗? 最佳答案 您可以忽略或抑制警告。这是对有效C++指南之一的误解。该指南说更喜欢初始化而不是赋值,但在您的示例中

c++ - 我可以忽略 gcc 警告 : ‘Foo::m_bar’ should be initialized in the member initialization list [-Weffc++]

structBar{Bar(){}};structFoo{Foo()=default;Barm_bar;};intmain(){Foofoo;}当使用C++11default关键字和gcc警告-Weffc++时,gcc输出:warning:‘Foo::m_bar’shouldbeinitializedinthememberinitializationlist[-Weffc++]忽略此警告是否安全?我应该向gcc提交错误吗? 最佳答案 您可以忽略或抑制警告。这是对有效C++指南之一的误解。该指南说更喜欢初始化而不是赋值,但在您的示例中