Compilerwarnung (Ebene 4, aus) C4365

"action" : Konvertierung von "type_1" in "type_2", signiert/nicht signierte Übereinstimmung

Sie haben beispielsweise versucht, einen nicht signierten Wert in einen signierten Wert zu konvertieren. Dieses Muster kann zu unerwarteten Ergebnissen führen, wenn sich der Quellwert zur Laufzeit nicht im Bereich des Zieltyps befindet. Beispielsweise ein negativer Wert, der in einen signierten Wert konvertiert wird.

C4365 ist standardmäßig deaktiviert. Weitere Informationen finden Sie unter Compiler Warnings That Are Off by Default.

Beispiel

Im folgenden Beispiel wird C4365 generiert.

// C4365.cpp
// compile with: /W4
#pragma warning(default:4365)

int f(int) { return 0; }
void Test(size_t i) {}

int main() {
   unsigned int n = 10;
   int o = 10;
   n++;
   f(n);   // C4365
   f(o);   // OK

   Test( -19 );   // C4365
}