2012-11-06 81 views
-2

我試圖讓這段代碼工作,但遇到了這個錯誤,我不知道如何解決。我試着搜索谷歌,但沒有得到任何幫助。預期的表達式錯誤

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 ^

} 

這只是代碼的一部分...在突出顯示位置的錯誤。

+8

我在我的座位邊緣!什麼是錯誤? –

+0

可能是幽靈是閃電吧! – BrOSs

+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的成員。

+0

只要你,但我忘了複製一切..代碼繼承之後,我確實有一個右括號。 –

+0

這是一個虛假的答案。右括號一直在代碼中;代碼格式不正確。 –

+1

@KerrekSB不是,請參閱第1版。實際上,'}'之前的任何版本都是由編輯器(而不是op)添加的。 –