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)

诡异的?联合国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)用作第二个参数,可选的第一个应该是NULL.

如果不是那样......那么这就是你设置回报的方式,wcex.hIcon需要是一个指针,而不是一个int. LoadIcon返回一个HICON类型,它是 a 的 typedef,HANDLE它是 a 的 typedef,VOIDP它是 a 的 typedefvoid *

所以如果你这样做:

int wcex.hIcon = LoadIcon(...)

你会收到cast from pointer to integer警告。

2) 从这里开始,前三个参数MessageBox()是可选的,第四个不是。当它期望一个UINT

于 2012-11-14T12:52:20.260 回答