错误 C2059:语法错误:'}' C++

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

本文关键字:错误 C++ C2059 语法      更新时间:2023-10-16
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>其他.cpp(202):错误c2059:语法错误:'}'

202nd Line是此功能末尾的最后一个卷曲支架。 我不知道为什么我现在遇到这个错误。我早些时候有几次,但是每次它只是随机的附加支架,我必须删除。

语法错误意味着您必须在标签之后使用null语句

koniecwalki2: ;
             ^^^
}

那是可以标记的陈述(在C 声明中也是语句,而在C声明中不是语句)。

考虑使用goto语句是一个坏主意。这使得代码难以读取和修改。