2011-11-22 98 views
0

我在SDL中製作遊戲,並使用位圖分配對象,我想嘗試靜態,但是出現聲明不兼容的錯誤。我錯過了什麼?SDL_Loadbitmap作爲類中的靜態成員

我的課CPP

SDL_Surface Enemy::sprite = SDL_LoadBMP("ship.bmp"); 

我的H級

class Enemy 
{ 
    public: 
    static SDL_Surface *sprite; 
}; 
+1

您的定義缺少'*'。 – user786653

+0

SDL_LoadBMP返回一個地址,因此我需要sprite而不是* sprite –

回答

1

正如user786653指出的那樣,你缺少在聲明中星號,

SDL_Surface* Enemy::sprite = SDL_LoadBMP("ship.bmp"); 

應該是正確的。因此,類頭文件中的變量類型是指向SDL_Surface的指針,但是cpp文件中的靜態聲明適用於直接的SDL_Surface。