コンパイラがこれを好まない理由がわかりません。問題の例を次に示します。
class A
{
public:
virtual void Expand() { }
virtual void Expand(bool flag) { }
};
class B : public A
{
public:
virtual void Expand() {
A::Expand(true);
Expand(true);
}
};
これをコンパイルしようとすると、コンパイルは正常に行われますA::Expand(true);
が、スコープExpand(true);
がない場合は次のコンパイラエラーが発生します。
'B :: Expand':関数は1つの引数を取りません