Как я могу вызвать функцию, которая определена ниже, где она вызывается? - PullRequest
2 голосов
/ 02 июня 2019

Я делаю бесконечную текстовую игру на 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;
}

Я использую MS Visual Studio 2019, и я получаю ошибку "C3861 'function_one': идентификатор не найден".

1 Ответ

2 голосов
/ 02 июня 2019

Просто объявите функции сверху, а затем вы сможете определить их позже:

#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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...