error C2059: syntax error: '}' C++

error C2059: syntax error: '}' C++

void walka(Postac p, Przeciwnik e, int walkaa)
{
    if (p.szybkosc < 0)
    {
        p.szybkosc = 0;
    }
walka:
    walkaa = p.szybkosc - e.szybkosc;
    if (walkaa > 0)
    {
        do
        {
            cout << "Zadajesz " << p.sila << " obrażeń." << endl << endl;
            e.zycie -= p.sila;
            cout << "Życie: " << p.zycie << " Życie przeciwnika: " << e.zycie << endl << endl;
            if (e.zycie <= 0)
            {
                cout << "Wygrałeś!" << endl;
                goto koniecwalki;
            }
            walkaa -= e.szybkosc;
        } while (walkaa > 0);
        goto walka;
    }
    else
    {
        do
        {
            cout << "Otrzymujesz " << e.sila << " obrażeń." << endl << endl;
            p.zycie -= e.sila;
            cout << "Życie: " << p.zycie << " Życie przeciwnika: " << e.zycie << endl << endl;
            if (p.zycie <= 0)
            {
                cout << "Zostałeś pokonany." << endl;
                goto koniecwalki2;
            }
            walkaa += p.szybkosc;
        } while (walkaa < 0);
    }
    goto walka;
koniecwalki:
    cout << "Przegrana" << endl;
koniecwalki2:

} 

1>Others.cpp(202):错误 C2059:语法错误:'}'

第202行是这个函数末尾的最后一个大括号。 我不知道为什么我现在收到这个错误。我之前有过几次,但每次都是随机的附加支架,我不得不将其移除。

语法错误意味着你必须在标签后使用空语句

koniecwalki2: ;
             ^^^
}

也就是说它是一个可以被标记的语句(在C++中声明也是语句,在C中声明不是语句)。

考虑到使用 goto 语句不是一个好主意。这使得代码难以阅读和修改。