2012-01-06 86 views
-2

我正在使用bootloader,我得到這個語法錯誤,不知道它是什麼意思,如果有人能幫助我,它會很多讚賞。表達式必須有一個指針對象引用(C++)

bool DrawBitmap(BYTE Bitmap, int x, int y, int w, int h) 
{ 
    for(int i=0;i<=w;i++) 
     for(int i2=0;i2<=h; i2++) 
     { 
      setpixel(i+x,i2+h, Bitmap[(((w*i2)-1)+i)]); 
     } 
} 

注意,錯誤發生在[(((w*i2)-1)+i)]

+2

什麼語法錯誤?爲什麼這有一個組件標籤?也許你想要C++標籤,也許指定編譯器並添加該標籤(gcc,llvm等)。 – 2012-01-06 04:09:36

+0

用「斜體」表示方括號,對不對?如果是這樣,我猜測,'BYTE'可能是'typedef''ed或'#define''d'char'。如果它不是指針,則不能取消引用「位圖」。你可能想要'BYTE *位圖'。 – 2012-01-06 08:52:08

+0

斜體不適用於代碼標籤。這兩個星號是否應該標記斜體代碼? – nico 2012-01-06 08:53:13

回答

0

位圖以字節形式傳遞。可能它應該是一個BYTE指針。

嘗試定義你這樣的功能:

bool DrawBitmap(BYTE *Bitmap, int x, int y, int w, int h) 
{ 
    for(int i=0;i<=w;i++) 
     for(int i2=0;i2<=h; i2++) 
     { 
      setpixel(i+x,i2+h, Bitmap[(((w*i2)-1)+i)]); 
     } 
} 
+0

是的,意識到這一點,修復它,但我不知道如何刪除一個問題:$ – iDomo 2012-01-06 13:59:42

+0

完成,好朋友;) – iDomo 2012-01-06 23:59:37

相關問題