2014-10-19 355 views
0

如何编写嵌套类构造函数的代码?因为下面的例子给我的错误访问嵌套类构造函数

foo.h中

class foo 
{ 
    public: 
     class bar 
     { 
      public: 
      bar(); 
      ~bar(); 
     } 
    private: 

} 

Foo.cpp中

#include "foo.h" 

foo::bar() 
{ 

} 
+0

请提供错误和代码的部分,当你问。 – ChiefTwoPencils 2014-10-19 17:14:07

回答

3

你必须明确地命名构造函数的foo::bar成员没有的, foo。调整名称如下:

foo::bar::bar() {} 
//  ^^^^^ 
0

因为酒吧是一个“派生类”富的,如果你想访问函数bar(),这意味着,你需要先访问类的吧。

栏()是FOO ::酒吧::

的命名空间,您需要尝试富::酒吧::巴()

0
class foo { 
public: 
    foo() : _bar(this) {} 

    class bar { 
    public: 
     bar(const foo* base); 
     ~bar() {} 
    private: 
     const foo* _base; 
    }; 
private: 
    bar _bar; 
}; 

foo::bar::bar(const foo* base) : _base(base) {} 

加入一个变量在那里也如果需要的话,展示如何在嵌套类中调用外部类函数。

作为一个方面,你也有语法错误。你错过了一个;关闭课程}。