Compartilhar via


Erro do compilador C3063

operator 'operator': todos os operandos devem ter o mesmo tipo de enumeração

Ao usar operadores em enumeradores, ambos os operandos devem ser do tipo de enumeração. Para obter mais informações, consulte Como definir e consumir enumerações em C++/CLI.

Exemplo

A amostra a seguir gera o erro C3063 e mostra como corrigi-lo:

// 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
      ;
}