![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
windowsのアプリケーションを作っているのですがどうにもうまくコンパイルできず困っています。
キャスト演算子かポインタ関係だと思うのですがいろいろ変えてみてもうまくいきませんでした。
私は朝までしかいられないため起きておられる方ですぐに答えられる方がいれば具体的にどうしたらできるようになるか答えていただけますでしょうか?
今日を逃したら大体、一ヶ月先に反応すると思うのでよろしくお願いします。
以下エラー部分です。
LRESULT CALLBACK WndProc(HWND hwnd,UINT iMsg,WPARAM wParam,LPARAM lParam)
{
HDC hdc,hdcWin;
PAINTSTRUCT ps;
int i,j;
switch(iMsg){
case WM_CREATE:
lpDIB=(LPBYTE)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(BITMAPINFO)+E*F);
lI=(LPBITMAPINFO)lpDIB;
for(i=0;i<F;i++){
alpPixel[i]=(LPDWORD)(lpDIB+sizeof(BITMAPINFO)+E*i);
}
lI->bmiHeader.biSize =sizeof(BITMAPINFOHEADER);
lI->bmiHeader.biWidth =B;
lI->bmiHeader.biHeight =-B;
lI->bmiHeader.biPlanes =1;
lI->bmiHeader.biBitCount =B;
lI->bmiHeader.biCompression =BI_RGB;
for(i=0;i<D;i++){
*(alpPixel[0]+i)=0x00ff0000;
*(alpPixel[1]+i)=0x0000ff00;
*(alpPixel[2]+i)=0x000000ff;
*(alpPixel[3]+i)=0x0000ffff;
*(alpPixel[4]+i)=0x00ffffff;
}
hdc=GetDC(hwnd);
hBMP=CreateCompatibleBitmap(hdcWin,C,C);
hdcBMP=CreateCompatibleDC(hdc);
hOldBMP=(HBITMAP)SelectObject(hdcBMP,hBMP);
for(i=0;i<A;i++){
for(j=0;j<A;j++){
StretchDIBits(hdcBMP,j*B,i*B,B,B,
0,0,B,B,alpPixel[map[j+i*A]],
lI,DIB_RGB_COLORS,SRCCOPY);
}
}
ZeroMemory(&biInfo,sizeof(BITMAPINFO));
lI->bmiHeader.biSize =sizeof(BITMAPINFOHEADER);
lI->bmiHeader.biWidth =C;
lI->bmiHeader.biHeight =-C;
lI->bmiHeader.biPlanes =1;
lI->bmiHeader.biBitCount =B;
lI->bmiHeader.biCompression =BI_RGB;
○ hBMP2=CreateDIBSection(hdc,&biInfo,DIB_RGB_COLORS,(LPVOID)(&lpPixel),NULL,0); //エラーはここ
hdcBMP2=CreateCompatibleDC(hdc);
hOldBMP2=(HBITMAP)SelectObject(hdcBMP2,hBMP2);
ReleaseDC(hwnd,hdc);
X=0;
Y=1;
return 0;
case WM_DESTROY:
~中略~
}
return DefWindowProc(hwnd,iMsg,wParam,lParam);
}
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
エラー内容が書かれていないので確かなことは言えないけど、おそらくエラーの原因は変数が未宣言だとか、パラメータの型が違うってこと。
> ○ hBMP2=CreateDIBSection(hdc,&biInfo,DIB_RGB_COLORS,(LPVOID)(&lpPixel),NULL,0); //エラーはここ
> (LPVOID)(&lpPixel)
記載のソース中にlpPixelの宣言がどこにもありません。
仮にどこかにGlobalで宣言されてるにしても型が違います。
このパラメータはビットマップへのポインタを返す領域のアドレスを入れるので、型は「void**」、あるいは「LPVOID*」でなければなりません。
この回答への補足
すばらしいです。
実はコンパイルエラーしたときにそんな感じのエラーが表示されてたてたのですが、エラーが出てた文章を書き損ねてしまい今どこかに書かれてないか探してたのです。
エラー E2034 169: 'void *' 型は 'void * *' 型に変換できない(関数 __stdcall WndProc(HWND__ *,unsigned int,unsigned int,long) )
エラー E2340 169: 4 番目のパラメータは void * * 型として定義されているので void * 型は渡せない(関数 __stdcall WndProc(HWND__ *,unsigned int,unsigned int,long) )
エラーの部分はこんな感じでした。
グローバルはこうなっています。
#include<windows.h>
#define A 4
#define B 32
#define C A*B
#define D B*B
#define E D*A
#define F 5
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE hInst;
BYTE map[]={0,1,2,1,2,1,
2,1,0,1,3,2,
0,1,3,1,0,1,
1,0,2,1,2,0,
0,1,2,1,2,1,
2,1,0,1,3,2,
};
HBITMAP hBMP,hOldBMP;
HDC hdcBMP;
LPBYTE lpDIB;
LPBITMAPINFO lI;
LPDWORD alpPixel[5];
BITMAPINFO biInfo;
LPDWORD lpPixel;
HBITMAP hBMP2,hOldBMP2;
HDC hdcBMP2;
int X,Y;
void draw();
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonリストの特定の値を表示htmlで表示できない 2 2022/05/14 05:48
- その他(IT・Webサービス) html cssについて 3 2023/05/13 12:48
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- その他(プログラミング・Web制作) pythonのDjangoでHTML内で変数を利用したいです 3 2022/05/15 15:33
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- HTML・CSS CSSが上手く反映されないみたいです 2 2022/11/21 16:19
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
VBScriptによるExecuteExcel4Ma...
-
適切な変換関数が存在しない???
-
コンパイルできません。
-
C++でscanfは使えない?
-
FORTRAN: WIN SalfordFTN77 ...
-
IOCTL_CDROM_RAW_RAEDで生デー...
-
fortranでプログラムを実行する...
-
visual C++ でaruduinoとシリア...
-
Arduinoに関する質問
-
windowsのアプリケーションを作...
-
BC30002: 型 'ListItem' が定義...
-
VC++2005でLAPACKを使用する...
-
SQLServerについて
-
VB2008で定数に色の設定をした...
-
multiple definitionというエラー
-
Visual Studioのstrcpy_sについて
-
DLL関数を使ったプログラム
-
このエラーの対処法を教えて下...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
fortranでプログラムを実行する...
-
Excelのエラーで困ってます。
-
Handlesについて
-
HEWを使用しているのですが、こ...
-
バッチからsqlplusの接続エラー...
-
デバッグ中のエラーのことで教...
-
VB2008で定数に色の設定をした...
-
コンパイルできません。
-
sys/time.hのインクルードがで...
-
multiple definitionというエラー
-
HANDLEの宣言でのエラー
-
BC30002: 型 'ListItem' が定義...
-
visual C++ でビルドの中止がで...
-
RightとLeft関数のライブ...
-
Visual Studioのstrcpy_sについて
-
ビルド失敗 指定されたファイ...
-
エクセルでマクロを実行すると...
おすすめ情報