Ошибка при работе со структурой
- Войдите на сайт для отправки комментариев
Чт, 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. Если пишите для себя, то пофиг.