LINUX.ORG.RU
А чего удивительного? В С90 действительно написано, что декларации должны идти до кода.
alexru ★★★★
()
Ответ на: комментарий от Zmacs
в первый раз сталкиваюсь, хотя это и правильно. лучше бы сделали тогда в явном виде как в паскале, а то если есть возможность объявить переменные в тексте - это входит в привычку :)
shuthdar ★★★
() автор топика
Ответ на: комментарий от shuthdar
Ну, это дурная привычка. Код, все же, стоит оформлять правильно. Даже если думаешь, что пишешь только для себя.
parser ★★
()
Ответ на: комментарий от shuthdar
> а то если есть возможность объявить переменные в тексте

В C есть возможность объявить в начале блока и все. Возможность "объявить переменные в тексте" - отрыжка С++.

anonymous
()
Ответ на: комментарий от anonymous
Не сказал бы, что это "отрыжка". Возможность объявлять переменные в иницилизационной части for-цикла - весьма полезный "синтаксическй сахар". К тому же избавляет код от лишних, обычно не мнемонических, переменных.
parser ★★
()
Ответ на: комментарий от parser
IMHO это не дурная привычка - логично объявлять переменные (уж раз язык того требует) при их _инициализации_.
Begemoth ★★★★★
()
И при чем тут ядро? В Си объявления переменных должны идти в начале блока. Читайте Кернигана и Ритчи и не задавайте тупых вопросов.
Reset ★★★★★
()
Правильно компилятор говорит. В стандарте C смешивание не рекомендуется. Для C++ можно.

Кстати, MS VC++ 6.0 (не к ночи будь помянут) вообще сишный код не компилирует с таким mixed declarations.

Shmuma
()
Ответ на: комментарий от Reset
> И при чем тут ядро?

Компиляция ядра происходит с флагами, при которых компилер пишет ругань на определение переменных не в начале. В другом месте на это он скорее всего не наталкивался.

Zmacs
()
Ответ на: комментарий от Reset
В С99 это не так ЕМНИП - читайте стандарт и будет вам счастье
Begemoth ★★★★★
()
такой варнинг будет появляться если при компиляции указан флаг --pedantic. я обычно так и компилирую для того что бы все кодовые недочёты видеть. а ещё хорошо -Wall и -Werror делать :)
luch
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.