我有一个 const 方法,我想在其中将 B 类成员的属性设置为当前实例 A(通过指针进行反向引用)
A类:
void A::foo () const
{
...
...
B b;
b.setA(this);
...
}
B类:
setA(A * Ap){
this->pointerToA = Ap;
}
B * getA() {return pointerToA;}
A* pointerToA;
编译器不允许这样做...好的,现在我尝试了
B类:
setA(const A * Ap){
this->pointerToA = Ap;
}
const A * getA() {return pointerToA;}
const A* pointerToA;
这解决了原来的问题,但现在我无法调用 B:
...
this->getA()->anotherMethodOfA();
...
因为我得到“无法将 'this' 指针从 'const A' 转换为 'A&'
虽然我理解上面的问题,但我不知道现在如何调用其他方法以及问题出在哪里......为什么错误消息中有一个 A&,因为我没有对 A 的引用?