编译器错误 C3063

运算符“operator”:所有操作数必须具有相同的枚举类型

在枚举器上使用运算符时,两个操作数都必须是枚举类型。 有关详细信息,请参阅如何:在 C++/CLI 中定义和使用枚举

示例

以下示例生成 C3063,并演示如何修复此错误:

// C3063.cpp
// compile with: /clr
enum class E { a, b } e, mask;
int main() {
   if ( ( e & mask ) != 0 ) ;   // C3063 no operator!= (E, int)

   if ( ( e & mask ) != E() )   // OK
      ;
}