预计表达式错误

时间:2012-11-06 16:10:44

标签: c++ syntax expression

我正在尝试让这段代码正常运行,但遇到了这个错误,我不知道如何修复。我试过搜索谷歌,但没有任何帮助。

Ghost::Ghost()
{
    ghost = SDL_LoadBMP("media/ghost.bmp");
    lightning = SDL_LoadBMP("media/light.bmp");
    monsterDead = false;
    deathCounted = false;

    posX = 4450;
    posY = 490;

    xVel = 200;
    yVel = 300;

    monsterPos = {posX, posY, 122, 130};
// Error Here    ^

}

这只是代码的一部分......突出显示的地方的错误。

1 个答案:

答案 0 :(得分:3)

啊,是的,难以捉摸的缺少右括号错误。众所周知,这会给世界各地的程序员带来麻烦,研究表明可以通过在末尾添加一个结束括号来解决它:

Ghost::Ghost()
{
    ghost = SDL_LoadBMP("media/ghost.bmp");lightning = SDL_LoadBMP("media/light.bmp");monsterDead = false;deathCounted = false;

    posX = 4450;posY = 490;

    xVel = 200;yVel = 300;

    monsterPos = {posX, posY, 122, 130};//

} //<--- HERE!!!

根据您的修改

monsterPos = {posX, posY, 122, 130};

似乎不受编译器支持,因为它不是初始化,而是赋值。您必须逐个分配monsterPos的成员。