我遇到了一个奇怪的问题。当我尝试编写一个返回指向子类的指针的函数时,我为该子类的另一个实例交换了一个“错误C2106:'=':左操作数必须是l值”的错误。C++返回指针值不可更改
里边反问题是在one->getMe() = two;
行:
class subClass{};
class someClass{
public:
subClass * pointer;
someClass(){
pointer = new subClass;
}
subClass * getMe(){
return pointer;
}
};
int main(){
someClass * one = new someClass;
subClass * two = new subClass;
one->getMe() = two;
}
我有点新的C++这样的问题可能是可怕的简单。任何帮助深表感谢。
你想修改什么 - 指针的值或指针指向的对象的值? –
名称'getMe()'表明它可以_get_值,而不是_set_值 – sehe
您正在返回一个右值。使用set方法设置新的指针。 – Banex