有没有一种方法可以不使用指针来定义循环引用?
我需要这样的东西:
struct A;
struct B {
A a;
};
struct A {
B b;
};
谢谢!
最佳答案
您可以改用引用
struct A;
struct B {
A& a;
};
struct A {
B b;
};
但是不,如果没有某种程度的间接寻址,就不可能创建循环引用。您的示例所做的甚至不是创建循环引用,而是试图创建递归定义。结果将是一个无限大的结构,因此是不合法的。
关于c++ - C++中没有指针的循环引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1329223/