戻り値の型が異なる Foo() メンバーを宣言する 2 つの C++/CLI インターフェイスがあるとします。
public interface class InterfaceA
{
bool Foo();
};
public interface class InterfaceB
{
int Foo();
};
ここでやりたいことは、上記のインターフェースを介してアクセスできるオブジェクトをインスタンス化するクラスを持つことです。したがって、それを行う簡単な方法は次のとおりです。
public ref class Class : InterfaceA, InterfaceB
{
virtual bool Foo() = InterfaceA::Foo { return true; }
virtual int Foo() = InterfaceB::Foo { return 10; }
};
残念ながら、「オーバーロードされた関数は戻り値の型だけが異なります」というコンパイラエラーが発生します。この C++/CLI の制限に対する回避策はありますか?