以下のコードをコンパイルすると、メンバー関数 func の引数として使用されているクラス B にアクセスできないと言って失敗します。どうしてこれなの?
注: D2 が D1 から継承されていない場合、エラーはなくなるため、何らかの理由で D2 からの継承によって B にアクセスできなくなります。
namespace myns {
class B {};
}
using namespace myns;
class D1 : B {};
class D2 : D1 {
void func(B b) {}
};