идентификатор не найден 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.
Надеюсь, бесконечной рекурсии у вас не будет?...