Для следующего фрагмента:
size_t i = 0;
std::wstring s;
s = (i < 0) ? L"ABC" : L"DEF";
s = (i != -1) ? L"ABC" : L"DEF";
Протокол PVS-Studio регистрирует предупреждение для первого условия i < 0
, как и ожидалось:
V547 Expression 'i < 0' is always false. Unsigned type value is never < 0. test_cpp_vs2017.cpp 19
Почему PVS не выдает предупреждения о втором, также подозрительное условие i != -1
сообщает об этом, как всегда, например?