MyClass& getMyClass() {return m_class}
private:
myClass* m_class;
这给了我错误消息:错误:从“myClass*”类型的表达式中对“myClass&”类型的引用无效初始化
我应该改变什么才能让它工作?我想返回这个对象的引用。所以我不想改变 getMyClass 函数原型。
MyClass& getMyClass() {return m_class}
private:
myClass* m_class;
这给了我错误消息:错误:从“myClass*”类型的表达式中对“myClass&”类型的引用无效初始化
我应该改变什么才能让它工作?我想返回这个对象的引用。所以我不想改变 getMyClass 函数原型。
将其更改为
return *m_class;
确保m_class
是一个有效的指针(例如未NULL
释放或释放)!
MyClass &getMyClass() { return *m_class; }
因为指针不是引用,并且您正在返回一个指针,而应该返回一个引用。为了将指针转换为引用(在这种情况下),您必须取消引用指针,例如:
MyClass& getMyClass() {return *m_class}