Есть несколько проблем с вашим кодом.
Проблему, о которой вы пишете, вы можете решить, объявив функцию перед ее использованием.Компилятор c ++ сначала встречает функцию «menu» в вашем основном функционале, но вы определяете (и объявляете) ее позже, следовательно, в вашей основной функции неизвестно, какую функцию следует вызывать.
using namespace std;
void menu(int); // << forward declaration of the menu function
int main()
{
// print msg
cout << "This program will allow you to select an option 1-4.\nSelect an option to see the output.";
// declare selection - used to get desired user input
int selection;
//call menu
menu(selection);
}
Во фрагменте вашей основной функции ваша menu
функция не объявлена.Вы можете решить это, используя предварительное объявление вашей функции, см. Комментарий выше.Более нюансированной ошибкой является то, что вы не назначаете значение для выбора переменной.Это означает, что меню может (будет) вызываться с непредвиденным значением.