我正在尝试将常量添加到 C++ 中的变量,因为 VC 拒绝使用Error C2664 : cannot convert MyClass * to const MyClass &
. 我已经尝试了一切,完成了搜索,阅读了类似的问题(1、2),但我仍然无法解决它。
我的功能定义为:
void ClassFoo::FuncFoo(MyClass* instance){
Merge(instance); // <--- Error C2664 -- cannot convert MyClass* to const MyClass &
Merge(&instance); // <--- Error C2664 -- cannot convert MyClass** to const MyClass &
Merge(*instance); // <--- This compiles fine, but doesn't work properly at runtime
Merge(const_cast<const GFxTextFormat&>(instance)); // <--- Error C2440
}
MyClass Merge (const MyClass &instance){
}
我应该怎么做才能正确地将常量添加到变量instance
中,以便我可以Merge
正确调用它?