Добрый день, знатоки! Скажите, пожалуйста, почему в теле основной программы не видно класс, написанный в новой вкладке. Если функция написана в новой вкладке - проблем нет, ее можно вызывать в теле основной программы, но вот класс, написанный в новой вкладке, в теле основной программы объявить не могу, пишет "does not name a type", мол нет такого класса. В чем причина? Как побороть?
В С++ все понятно, Файл *.cpp плюс заголовочный файл *.h, все это подключается и прекрасно работает. Меня интересует ардуино и ее среда разработки. В которой какие-то "вкладки" можно открывать, там функции писать, файлы (*.ino) автоматом подключаются к проекту, а классы? писать нельзя во вкладках?
причина в том, что при сборке скетча из вкладок компилятор руководствуется своими религиозными убеждениями (чаще всего собирает по алфавиту, но почему-то не всегда), т.е. в собранном скетче вызов класса может оказаться даже раньше его объявления. Кстати, с функциями тоже такой казус иногда случается: попробуй вызвать функцию с именем masterRead() из одноименной вкладки, из loop(), с большой вероятностью получишь тот же самый "does not name a type", ибо буква M идет после L. Помогает только принудительное объявление прототипов функций в начале скетча.