3

(1) 【解決!

wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION));

警告: ポインタから異なるサイズの整数へのキャスト [-Wpointer-to-int-cast]

解決

を使って解決しました

wcex.hIcon = LoadIcon(NULL, IDI_APPLICATION);

私はIDI_APPLICATION定義を見てきたので、それは次のように定義されています

#define IDI_APPLICATION MAKEINTRESOURCE(32512)

変?un peu。

(2) 【解決!

MessageBox(NULL,
        _T("Call to RegisterClassEx failed!"),
        _T("Win32 Guided Tour"),
        NULL); // < here

警告: 'MessageBoxW' の引数 4 を渡すと、キャストなしでポインタから整数が作成されます [デフォルトで有効]

4

1 に答える 1

0

1)ここから

To use one of the predefined icons, set the hInstance parameter to NULL and the lpIconName parameter to one of the following values.

したがってMAKEINTRESOURCE(IDI_APPLICATION)、2 番目の引数として使用するには、オプションの最初の引数をNULL.

そうでない場合...それは、リターンを設定する方法であり、.wcex.hIconではなくポインターである必要がありますint。a の typedef である型をLoadIcon返します。これは a の typedef です。これはaの typedef です。HICONHANDLEVOIDPvoid *

したがって、これを行っている場合:

int wcex.hIcon = LoadIcon(...)

cast from pointer to integer警告が表示されます。

2)ここから、 への最初の 3 つの引数MessageBox()はオプションですが、4 番目はオプションではありません。それが期待するとき、あなたは4番目をNULLとして渡していますUINT

于 2012-11-14T12:52:20.260 に答える