Я пытаюсь скомпилировать LightZPng с предупреждениями на уровне 4. Я получаю много C4127 на строках, которые явно не достойны этого предупреждения. Пример:Нечетное предупреждение C4127: условное выражение постоянное "под VS2005
#define MAX_BITS 15
int values_per_bitlen[ MAX_BITS + 1 ];
for (int i = 0; i <= MAX_BITS; ++i) // C4127 is here
values_per_bitlen[ i ] = 0;
Как этот код можно изменить, чтобы избежать предупреждения, отличного от #pragma?
Хороший улов, @WinProg, выложил его для вас и сделал + 1. – paxdiablo
Возможно, это нуждается в дополнительном объяснении? Это приводит к тому, что каждое последующее появление токена расширяется до оператора if, содержащего оператор for. VC++ диагностирует, если (false), как имеющий постоянное условное выражение, не шутит. Если вы удалите эту строку, будет меньше случаев if (false) в программе. –
Мы писали в то же время. Извините, если мой комментарий выглядит оскорбительным. –