Udostępnij za pomocą


Błąd kompilatora C2040

"operator" : "identifier1" różni się w poziomie pośrednim od "identifier2"

Remarks

Wyrażenie obejmujące określone operandy ma niezgodne typy operandów lub niejawnie przekonwertowane typy operandów. Jeśli oba operandy są arytmetyczne lub oba są arytmetyczne (takie jak tablica lub wskaźnik), są używane bez zmiany. Jeśli jeden operand jest arytmetyczny, a drugi nie, operand arytmetyczny jest konwertowany na typ operandu arytmetycznego.

Example

Ten przykład generuje kod C2040 i pokazuje, jak go naprawić.

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