Поделиться через


Предупреждение компилятора (уровень 4, выключен) C4365

"action": преобразование из "type_1" в "type_2", подписанное или неподписанное несоответствие

Например, вы попытались преобразовать значение без знака в подписанное значение. Этот шаблон может вызвать непредвиденные результаты, если исходное значение во время выполнения не в диапазоне целевого типа. Например, отрицательное значение, преобразуемое в подписанное значение.

По умолчанию C4365 отключен. Дополнительные сведения см. в разделе Compiler Warnings That Are Off by Default.

Пример

В следующем примере создается 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
}