(doswap= true)
答案 0 :(得分:0)
在B :: getApointerobject()中,您可以递归调用它。你应该改为
A getApointerobject() const {
return *APointerObject;
}
在调用getApointerobject()方法之前是否初始化了B :: APointerObject?
答案 1 :(得分:0)
在getApointerobject
中,您试图返回方法getApointerobject
本身的地址。我猜你的代码现在还没有编译?
我想你想要退回APointerObject
A B::getApointerobject() const {
return *this->APointerObject;
}
但建议:内置类型,包括简单指针,没有默认构造函数。因此,由于您没有在APointerObject
的构造函数中初始化class B
,因此您将使用野指针。这意味着您的程序将在运行时崩溃或更糟(未定义的行为)