圆形类成员指针?

sma*_*ato 1 c++

我不确定我是否可以描述这个问题,但我会尽我所能.情况如下:

如果我可以想要一个class1有一个指针作为指向另一个类class2的成员变量.同时,我希望class2也有一个指针作为指向class1的成员变量.那可能吗?

class Class1
{
private:
    Class2* classptr;
        ... ...
public:
        ... ...
};

class Class2
{
private:
    Class1* classptr;
        ... ...
public:
        ... ...
};
Run Code Online (Sandbox Code Playgroud)

在我看来,Class1和Class2都没有被识别为标识符.我猜没有创建Class1和Class2.如果我错了,请纠正我.

小智 7

你需要一个前瞻声明.或者:

class Class1
{
private:
    class Class2* classptr;
        ... ...
public:
        ... ...
};
Run Code Online (Sandbox Code Playgroud)

要么:

class Class2;

class Class1
{
private:
    Class2* classptr;
        ... ...
public:
        ... ...
};
Run Code Online (Sandbox Code Playgroud)