C++ Как избежать ошибки "was not declared in this scope" (знаю что означает) проблема с функциями
Допустим имеем две функции в одной программе:
void foo1() { foo2(); }
void foo2() { foo1(); }
при компиляции выйдет ошибка "was not declared in this scope"
это значит что функция в которой мне надо вызвать другую функцию еще не объявлена, как исправить?
Надо объявить функцию (declaration, prototype).
void foo2(); // показывает, что такая функция есть, но её определение находится где-то в другом месте.
void foo1() { foo2(); }
void foo2() { foo1(); }
Лучше создать заголовочный файл, #include "его" в основной код, и вот в нем объявить ВСЕ функции.
Это будет максимально приближено к более совершенным языкам.
В будущем люди наплюют на консервативность, засунут ее себе в очко и создадут компилятор C/C++, который автоматически будет это делать.
Пока можно воспользоваться возможностью автогенерации заголовков в IDE, а если там ее нет - то написать себе плагин для IDE.