<分区>
我想弄清楚如何通过指针访问前向声明类的成员变量。
我的代码:
#include <iostream>
class Boo;
class Foo{
public:
int getNum() {
return booPtr->num; //Error: Member access into incomplete type 'Boo'
}
Boo *booPtr;
};
class Boo : public Foo {
public:
Boo() {
booPtr = this;
}
int num = 45;
};
int main() {
Boo boo;
int num = boo.getNum();
std::cout << num << '\n';
}
我得到的错误:
"return booPtr->num" : Member access into incomplete type 'Boo'
我期望的结果:
45
我该如何修复这个错误,什么是更常见和更安全的方法来实现同样的目标?