Неиспользуемая переменная ошибка в C .. Простой вопрос - PullRequest
1 голос
/ 16 августа 2011

Я получаю ошибку в C (Ошибка - Неиспользуемая переменная) для переменной, когда я набираю следующий код

int i=10;

, но когда я делаю это (разбить его на два оператора)

int i;
i=10;

Ошибка уходит

.. Я использую Xcode (ver-4.1) (Macosx-Lion) .. Что-то не так с xcode ....

Ответы [ 2 ]

5 голосов
/ 16 августа 2011

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

1 голос
/ 16 августа 2011

Компилятор не неправильный , но отсутствует возможность распечатать значимую ошибку.

Очевидно, он предупреждает, если вы объявляете переменную, но никогда не «используете» ее -и присвоение долины ему соответствует его использованию.Два фрагмента кода эквивалентны;первый случай немного облегчает компилятору обнаружение проблемы.

может выдать предупреждение для переменной, значение которой никогда не читается.И я не удивлюсь, если это будет сделано на более высоком уровне оптимизации.(Анализ, необходимый для оптимизации, также полезен для обнаружения проблем такого рода.)

Компилятору просто невозможно обнаружить все возможные проблемы такого рода;это было бы равносильно решению проблемы остановки.(Я думаю.) Вот почему языковые стандарты обычно не требуют подобных предупреждений, и разные компиляторы тратят разные уровни усилий на обнаружение таких проблем.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...