在回答我之前,我目前正在学习C++,对C++只有一些了解。
这是一个示例,用户将看到语言选择,用户必须在语言左侧输入数字才能选择它,否则它将再次返回选择。
所以我有一个想法:先放main函数,最后放语言函数。但是问题是因为主函数在语言函数之前,所以主函数找不到语言函数并结束程序(当然因为这个问题,我无法编译源代码。)
这是示例代码:
int main() {
language(); // The main function redirect user to the language function
}
int language() { // The language() function
std::cout << "1 for cookie!";
std::cin >> choice; // Ask user for choice
if (choice == 1) {
choice1(); // If the choice is 1, user will be redirected to choice1() function
} else {
main() // Otherwise user will be redirected to main and of course, redirect to language() function again
}
}
由于上述问题,我在重建项目时收到了来自 Code::Blocks IDE 的警告:
错误:未在此范围内声明“语言”
是否有其他方法可以将用户从函数重定向到另一个函数?
编辑:当前的答案使我陷入无限循环,这不是我想看到的结果。我希望看到的结果是,如果用户输入了无效值,它将再次将用户重定向到用户当前所在的函数,并且代码只能运行一次。(意味着不是无限循环)