无法使C中的私有方法返回指向私有嵌套类的指针
发布时间:2020-12-16 05:00:47 所属栏目:百科 来源:网络整理
导读:这个不想编译: class MainClass{public: ...private: class NestedClass { //Line 39 ... }; class NestedClass * getNestedClassFor(int i);}; 编译器说: error: ‘class MainClass::NestedClass’ is private 但是,如果我公开了NestedClass,它就可以了.
这个不想编译:
class MainClass { public: ... private: class NestedClass { //Line 39 ... }; class NestedClass * getNestedClassFor(int i); }; 编译器说:
但是,如果我公开了NestedClass,它就可以了. 为什么不起作用?这不是我通过公共方法导出嵌套类?它只是一个返回指向私有类的指针的私有方法.有任何想法吗? 谢谢! 更新 修复了半列.他们不是问题.也没有在NestedClass面前编写类. 这是错误消息:
这是.cpp文件的一部分,也是抱怨: class MainClass::NestedClass * getNestedClassFor(int i) //Line 49 { return NULL; } 解决方法
这编译并正常工作:
class A { private: class B { public: B() {}; }; B *b; B *getB(); public: A(); }; A::A() { b = getB(); } A::B* A::getB() { A::B *tmp = new A::B(); return tmp; } int main() { A a; return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Oracle数据去重(不是distinct)
- F?l?e?x?4?+?s?p?r?i?n?g?+?h?i?b?e?r?n?a?t?e?+?B?l?a?z?e
- ios – “dyld:Library not loaded”错误
- reactjs – 无法确定如何在同一组件上使用Redux和React-rou
- 在MFC 窗口中运行 cocos2d-x 3.2 (二) 让其在MFC picture
- c# – 在VS 2015和VS 2013上运行相同代码的问题
- ACE反应器模式:ACE_Reactor
- c – 返回需要由智能指针保持的“指针”
- cocos2d-x打包的时候出现空指针的问题,An error has occur
- xml file too big to import to wordpress website