Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
ты ошибся 18.04.02 05:57 Число просмотров: 850
Автор: йцукенг <jcukeng> Статус: Member
|
1. > > > if(sizeof(yourstruct)<=>CONST)
2. > > > #define WRONG_STRUCT_SIZE
3. > > > else
4. > > > .....
5. > > > #ifdef WRONG_STRUCT_SIZE
6. > > > #error(message)
7. > > > #endif
> > > > Новое слово в языке С ? > єто ті о чем? это он написал к тому, что ты работу компилятора неправильно понимешь:)
сначала работает препроцессор, который заменяет все макроопределения, а лишь потом - собственно компилятор.
т.е. строки 2,5,6,7 обрабатываются препроцессором. и, таким образом, макрос WRONG_STRUCT_SIZE всегда будет определен.
в свете вышесказанного компилятор должен ругнуться на строку 2.
с его точки зрения там написано:
if(sizeof(yourstruct)<=>CONST)
else
...
ведь между if и else нет оператора; макроопределение это не оператор.
|
|
|