@IgorTitov2000

Почему в примерах кода в книге функции создаются после того, как используются?

Учусь писать скетчи для Arduino по книге "Программируем Arduino. Основы работы со скетчами" Саймона Монка. В книге в примерах кода функции сначала взываются, и только потом пишутся.
Например так:
void loop()
{
  flash(20, delayPeriod);
  delay(3000);
}

void flash(int numFlashes, int d)
{
  for (int i = 0; i < numFlashes; i ++)
  {
    digitalWrite(ledPin, HIGH);
    delay(d);
    digitalWrite(ledPin, LOW);
    delay(d);
  }
}

Так, как это написано в книге не работает, работает, разумеется, если перенести создание функции до её использования -
void flash(int numFlashes, int d)
{
  for (int i = 0; i < numFlashes; i ++)
  {
    digitalWrite(ledPin, HIGH);
    delay(d);
    digitalWrite(ledPin, LOW);
    delay(d);
  }
}

void loop()
{
  flash(20, delayPeriod);
  delay(3000);
}

Это в книге неправильный код, или вдруг это я что-то упускаю?
  • Вопрос задан
  • 344 просмотра
Решения вопроса 1
Tomasina
@Tomasina
Инженер-разработчик
Предыдущие версии IDE это позволяли (при компиляции автоматом расставляли функции как надо).
Более свежие версии IDE уже так не вольничают и приходится строго следовать стандартам C++.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Возможно вы упускаете заголовочные файлы.
Ответ написан
Комментировать
romy4
@romy4
Exception handler
или просто функции объявлены до их использования
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы