Ошибка при работе со структурой
- Войдите на сайт для отправки комментариев
Чт, 07/05/2015 - 11:18
Здравствуйте, подскажите пожалуйста, где моя ошибка, если вот это
struct SGtm { byte tm_min=0; byte tm_hour=0; }; struct SGtm *tm_time; void setup() { Serial.begin(9600); while (!Serial); tm_time->tm_hour=44; tm_time->tm_min=33; Serial.println(tm_time->tm_hour); Serial.println(tm_time->tm_min); } void loop() { }
выдает вот это
c, 0
Память надо выделять...
Плюс 2-3 строки. Нельзя инициализировать структуру при объявлении
Не понял. Можно поподробнее. Я использовал выше предложенный вариант - все заработало. Какие еще подводные камни?
Скорее это я не прав. Такая инициализация появилась в C++11 (C++0x), раньше нельзя было так инициализировать (например ArduinoIDE v1.0.5 выдает ошибку). v1.6.3 ошибки не выдает.
Значит грабли только в одном, такую инициализацию можно использовать только в версиях, которые поддерживают стандарт C++11. Если пишите для себя, то пофиг.