идентификатор не найден C++, как исправить?

#include <string>
#include <stdlib.h>
#include <Windows.h>

using namespace std;




string Name;
string hit;

int change1;
int damage;
int hp = 100;
int hpDragon = 100;
int change2;
int change3;
bool armor;
bool potionChanged;
bool game = true;
int sec = 3;


string name() 
{

    cout << "Enter your name: ";
    cin >> Name;
    cout << "Hello, "<<Name<<"\n"<<endl;
    return Name;
}

int DragonAttack()
{
    cout << "Дракон наносит 50 урона" << endl;
    hp = hp - 50;
    fight();
    return 0;
}


int fight()
{
    system("cls");



    while (game == true)
    {
        while (hpDragon > 0 && hp > 0)
        {
            cout << "[1] нанести удар" << endl; 
            cin >> hit;


            cout.fill('0');
            while (true)
            {
                cout.width(2);
                cout << sec << " s" << endl;
                Sleep(970);
                if (sec > 0)
                {
                    sec--;

                }
                if (sec == 0)
                {
                    DragonAttack();
                    break;
                }
            }


            if (hit == "1") 
            {
                hpDragon = hpDragon - damage;
                system("cls");
            }
        }

        if (hpDragon <= 0) 
        {
            game = false;
        }
    }
    return 0;
}

Я объявляю fight после DragonAttack, потому что в первой я использую вторую функцию, но мне также нужно использовать во второй первую. Как это правильно записать? Если я вызываю функцию не объявив её, пишет "идентификатор не найден!"


Ответы (1 шт):

Автор решения: Harry

Да просто объявите

int fight();

где-то перед DragonAttack.

Надеюсь, бесконечной рекурсии у вас не будет?...

→ Ссылка