Глюк IDE или я затупил? Объявление массива
- Войдите на сайт для отправки комментариев
Скетч раскидан по разным файлам .ino так как функций много и в поисках глюка так было проще изначально. Стал скидывать отлаженные функции в один файл,что бы уменьшить количество закладочек и тут началось, посыпались ошибки что не объявлены массивы, они сложены в отдельный файл с расширением .ino . Но этот файл и массивы не трогал вообще.
const char* const fileNames[]PROGMEM = { бла бла бла };
const char* const StringNames[]PROGMEM = { бла бла ьла };
const static byte configsLimit[]PROGMEM = {xxxx};
static const char fileStruct[FILENUMB * FILEREW] PROGMEM = { бла бла бла };
В заголовочном файле (перед
void setup()
) объявены были 2 массива так
extern const char* const StringNames[]; extern const char* const fileNames[];
и все прекрасно компилилось и заливалось ,но вот после перемещения функций жалуется на необъявленный массив fileStruct[FILENUMB * FILEREW], вписываю в заголовочный файл
extern static const char fileStruct[FILENUMB * FILEREW]; extern const static byte configsLimit[];
и теперь посыпались ошибки на противоречие спецификаторов в объявлении 'fileStruct'
подскажите что делать? Что ему еще надо? И как проверить что массивы действительно лежат в PROGMEM?
IDE 1.6.7 стоит
extern и static несовместимы. static используется для объявления чего то, что видно только в файле, где оно объявлено. Если объявление и использование в разных файлах, тогда только без static.
Спасибо, помогли. Будем дальше учиться..на собственных ошибках