Visual Studio2008を使用するネイティブC++で、constを使用してクラスメンバーにインターフェイスを渡すにはどうすればよいですか?次の手順を実行すると、このエラーが発生しました。
エラーC2662:'IMyInterface::PublicMember1'は'this'ポインタを'constIMyInterface'から'IMyInterface&'に変換できません
class IMyInterface
{
virtual std::wstring PublicMember1() = 0;
virtual int PublicMember2() = 0;
virtual void Update(const IMyInterface & myObject) = 0;
}
class MyClass : public IMyInterface
{
private:
std::wstring privateMember1;
int privateMember2;
public:
virtual std::wstring PublicMember1() { return privateMember1; }
virtual int PublicMember2() { return privateMember2; }
virtual void Update(const IMyInterface & myObject);
}
void MyClass::Update(const IMyInterface& myObject)
{
privateMember1 = myObject.PublicMember1();
privateMember2 = myObject.PublicMember2();
}