如何为嵌套类的构造函数编写代码?因为以下示例给出了错误
foo.h中
class foo
{
public:
class bar
{
public:
bar();
~bar();
}
private:
}
Foo.cpp中
#include "foo.h"
foo::bar()
{
}
答案 0 :(得分:3)
您必须将构造函数明确命名为foo::bar
的成员,而不是foo
的成员。像这样调整名称:
foo::bar::bar() {}
// ^^^^^
答案 1 :(得分:0)
由于bar是foo的“派生类”,这意味着如果要访问功能栏(),则需要先访问类栏。
bar()位于foo :: bar ::
的命名空间中您需要尝试foo :: bar :: bar()
答案 2 :(得分: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) {}
在其中添加一个变量,以显示如何在需要时调用嵌套类中的外部类函数。
作为一方而言,您的语法也有错误。你错过了;关闭课程}。