在 C++ 中,给定一个嵌套类,内部类是否可以有指向外部类的成员指针?
class Outer{
public:
class Inner{
public:
int i;
Outer *ptr;
Inner(){
i =0;
ptr = NULL;
....
}
...
};
}
如果可以,有没有什么/棘手的问题需要小心谨慎?
最佳答案
您可以声明指向外部类的指针或引用,因为它不需要完整的类型。声明一个对象将要求类型是完整的。请参阅 incomplete types 上的引用资料
这与您可以将指针指向同一个类作为数据成员的原因相同:
class Outer
{
Outer* p; // Outer is an incomplete type at this point
};
关于c++ - 嵌套类可以有指向外部类的成员指针吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33654933/