编译器错误 C2571

“function”:虚函数不能在联合“union”中

使用虚函数声明联合。 只能在类或结构中声明虚函数。 可能的解决方法:

  1. 将联合更改为一个类或结构。

  2. 将函数设为非虚函数。

以下示例生成 C2571:

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