クラスA、Bがあります.Bは保護されたAから派生するため、BからAへの暗黙的なキャストを有効にするために、キャスト演算子を追加しましたが、暗黙的に使用するとエラーが発生します(明示的に使用するとすべて問題ありません)。
このコードを機能させるには??
class A
{
public:
int a;
};
class B : protected A {
public:
int b;
operator const A&()const { return *this; }
};
B b;
const A& a = b; // ERROR: error C2243: 'type cast' : conversion from 'const b *' to 'const A &' exists, but is inaccessible
キャストを暗黙的にする方法は?