У меня есть фрагмент кода, который можно обобщить следующим образом:
void MyFunc()
{
int x;
'
'
x;
'
'
}
Я бы подумал, что простое обращение к переменной, без ее изменения в любом случае или использование ее значения в любом случае должно генерировать предупреждение. В VS2003 это не так, и мне нужно что-нибудь, чтобы поднять его.
Я понимаю, что это не влияет на выполнение, но так как это кусок кода, который ничего не делает, и программист, несомненно, намеревался что-то сделать, почему он не помечен?
Точно так же вы ожидаете, что x = x будет предупреждением?
Редактировать: Измененный вопрос, поскольку он является хорошим кандидатом для предупреждения, но не является ошибкой. Ответы показывают, что это лучше обрабатывается другими компиляторами. Попробую VS2008 позже и опубликую результат.