ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
911007 Топик полностью
fk0, легенда (17.03.2019 18:44, просмотров: 448) ответил rual на Ещё одна отрыжка компилятора XC32, ../src/measurement.c:20:1: error: initializer element is not constant
Нет отрыжки, всё по букве стандарта. В языке C переменная типа const лишь означает, что её нельзя менять (может быть положена в сегмент rodata), но нигде не сказано, что компилятор может её знать наперёд в момент компиляции и подставлять значение. Вот в C++ -- может. Поэтому в C распространены подстановки констант через макросы, а в C++ чаще используют const-переменные. Кстати в этом свете enum вроде должен являться таки честной константой, но его float'ом не сделаешь.
[ZX]