C++ の変数に constness を追加しようとしていますが、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){
}
constness を変数に適切に追加して、適切に呼び出せるようにするにはどうすればよいinstance
ですMerge
か?