다음을 통해 공유


컴파일러 오류 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();
}