次の方法で共有


コンパイラ エラー C2387

'type' : あいまいな基底クラスです

コンパイラは、関数が複数の基底クラスに存在するため、関数呼び出しを明確に解決できませんでした。

このエラーを解決するには、いずれかの基底クラスを継承から削除するか、関数呼び出しを明示的に修飾します。

次の例では C2387 が生成されます。

// C2387.cpp
namespace N1 {
   struct B {
      virtual void f() {
      }
   };
}

namespace N2 {
   struct B {
      virtual void f() {
      }
   };
}

struct D : N1::B, N2::B {
   virtual void f() {
      B::f();   // C2387
      // try the following line instead
      // N1::B::f();
   }
};

int main() {
   D aD;
   aD.f();
}