다음을 통해 공유


컴파일러 오류 C2571

'function': 가상 함수는 공용 구조체 'union'에 있을 수 없습니다.

공용 구조체는 가상 함수를 사용하여 선언됩니다. 클래스 또는 구조체에서만 가상 함수를 선언할 수 있습니다. 가능한 해결 방법:

  1. 공용 구조체를 클래스 또는 구조체로 변경합니다.

  2. 함수를 비상으로 만듭니다.

다음 샘플에서는 C2571을 생성합니다.

// C2571.cpp
// compile with: /c
union A {
   virtual void func1();   // C2571
   void func2();   // OK
};