Ostrzeżenie kompilatora (poziom 4, wyłączony) C4365
"action" : konwersja z "type_1" na "type_2", niezgodność podpisanych/niepodpisanych
Na przykład próbowano przekonwertować niepodpisaną wartość na wartość podpisaną. Ten wzorzec może spowodować nieoczekiwane wyniki, gdy wartość źródłowa w czasie wykonywania nie znajduje się w zakresie typu docelowego. Na przykład wartość ujemna jest konwertowana na wartość podpisaną.
C4365 jest domyślnie wyłączony. Aby uzyskać więcej informacji, zobacz Ostrzeżenia kompilatora, które są domyślnie wyłączone.
Przykład
Poniższy przykład generuje kod C4365.
// 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
}