我正在用 C++ 制作一个无尽的基于文本的游戏,并且有多个需要能够互相调用的函数。我似乎无法做到这一点,因为函数需要在调用它们工作的地方上方定义,而且我不能将它们都定义在彼此之上。我如何使它能够调用它下面定义的函数?
我已经尝试将函数的定义移到彼此之上,但是由于其中一个需要调用在其下方定义的函数,因此无法正常工作。
#include <iostream>
void function_one()
{
int user_selection = 0;
std::cout << "Enter \"1\" to call function 2.\n";
switch (user_selection) {
case 1:
function_two();
break;
}
}
void function_two()
{
int user_selection = 0;
std::cout << "Enter \"1\" to call function 1.\n";
switch (user_selection) {
case 1:
function_one();
break;
}
}
int main()
{
function_one();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用 MS Visual Studio 2019,我得到的错误是“C3861 'function_one':标识符未找到。”
只需在顶部声明函数,然后您就可以稍后定义它们:
#include <iostream>
void function_one();
void function_two();
int main()
{
function_one();
return 0;
}
void function_one()
{
int user_selection = 0;
std::cout << "Enter \"1\" to call function 2.\n";
switch (user_selection) {
case 1:
function_two();
break;
}
}
void function_two()
{
int user_selection = 0;
std::cout << "Enter \"1\" to call function 1.\n";
switch (user_selection) {
case 1:
function_one();
break;
}
}
Run Code Online (Sandbox Code Playgroud)