我不能让两个 类 互相指着对方

I can't have two classes pointing at each other

这个代码

class x {
    y* ptrY;
};
class y {
    x* ptrX;
};
int main() {

}

给我这些无用的错误

我是不是在做一些不允许的事情,或者有办法解决这个问题

定义x时,y还不知道,所以x不能正常编译。解决这个问题的一种方法是使用前向声明——本质上,你会声明“y 是一个 class,我稍后会定义它”:

class y; // Forward declaration of y

class x {
    y* ptrY;
};
class y {
    x* ptrX;
};
int main() {
}