Поделиться через


Ошибка компилятора C2571

"function": виртуальная функция не может находиться в союзе "union"

Замечания

Объединение объявляется с виртуальной функцией. Вы можете объявить виртуальную функцию только в классе или структуре. Возможные разрешения:

  1. Измените объединение на класс или структуру.

  2. Сделайте функцию невиртуальной.

Example

В следующем примере возникает C2571:

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