Udostępnij za pośrednictwem


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
}