是否可以在外部类中声明的内部类中使用变量。
我想实现以下目标。可能吗。
我收到以下错误。

prog.cc:在构造函数'Outer :: Inner :: Inner()'中:prog.cc:12:25:错误:无效使用非静态数据成员'Outer :: i'
             内部(){i = 5; };

    #include <iostream>
using namespace std;
class Outer {
public:
    int i;
    class Inner; // forward declaration of Outer::Inner
    friend class Inner;
    class Inner {
        Inner() {
            i = 5;
        };
    };
};
int main() {
    return 0;
}

最佳答案

与Java不同,C ++“内部类”与创建它们的外部类没有任何关系。您将必须传递一个指向外部类的指针或引用。

关于c++ - C++如何在外部类中声明的内部类中使用变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51785456/

10-13 09:48