Udostępnij za pośrednictwem


Błąd kompilatora C3063

operator "operator": wszystkie operandy muszą mieć ten sam typ wyliczenia

W przypadku używania operatorów w modułach wyliczania oba operandy muszą być typu wyliczenia. Aby uzyskać więcej informacji, zobacz How to: Define and consume wyliczenia w języku C++/CLI.

Przykład

Poniższy przykład generuje kod C3063 i pokazuje, jak go naprawić:

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