Sdílet prostřednictvím


Chyba kompilátoru C2040

'operator' : 'identifier1' se liší v úrovních nepřímých výrazů od 'identifier2'

Remarks

Výraz zahrnující zadané operandy má nekompatibilní typy operandů nebo implicitně převedené typy operandů. Pokud jsou oba operandy aritmetické nebo oba jsou nearithmetické (například matice nebo ukazatel), použijí se beze změny. Pokud je jeden operand aritmetický a druhý není, aritmetický operand se převede na typ nonarithmetického operandu.

Example

Tento příklad vygeneruje C2040 a ukazuje, jak ho opravit.

// C2040.cpp
// Compile by using: cl /c /W3 C2040.cpp
bool test() {
   char c = '3';
   return c == "3"; // C2446, C2040
   // return c == '3'; // OK
}