2012-01-06 15 views
-2

私はブートローダで作業していますが、この構文エラーが発生し、その意味が分かりません。誰かが私を助けてくれたら、感謝。式にはポインタへのポインタ参照が必要です。(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、など)を追加します。 –

+0

「イタリック体」とは大括弧を意味します。もしそうなら、私は、 'BYTE'はおそらく' typedef'または '#define'd' char'でしょうと推測しています。ポインタでない場合、 'Bitmap'を参照解除することはできません。おそらく 'BYTE * Bitmap'が必要です。 –

+0

コードタグではイタリック体は機能しません。 2つのアスタリスクはイタリック体のコードをマークすることになっていますか? – nico

答えて

0

ビットマップはBYTEとして渡されます。おそらくそれは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

+0

完了、良い友達;) – iDomo

関連する問題