Следующий код C генерирует следующие предупреждения с VS2008 при любом уровне предупреждений по умолчанию для этого компилятора:
int main()
{
int a = 0;
1; // this doesn't seem to generate a warning
a + 1;
a == 0;
return 0;
}
C:\temp\test.c(5) : warning C4552: '+' : operator has no effect; expected operator with side-effect
C:\temp\test.c(6) : warning C4553: '==' : operator has no effect; did you intend '='?
В ваших комментариях вы, кажется, действительно сосредоточены на получении предупреждениянет эффекта"). Согласно MSDN , это предупреждение задокументировано только для VS6.Поэтому я думаю, что если вы хотите этот конкретный код ошибки, вам нужно выкопать VC ++ 6.