MyGUI库.
它的来源有一条线:
mHandle = (size_t)::LoadCursor(NULL, MAKEINTRESOURCE(IDC_ARROW));
Run Code Online (Sandbox Code Playgroud)
mHandle是size_t
LoadCursor返回HCURSOR.
错误:
D:\Dev\MyGUI_3.2.0_RC1\Common\Input\Win32\ResourceW32Pointer.cpp:48: error: cast
from 'WCHAR*' to 'WORD' loses precision
Run Code Online (Sandbox Code Playgroud)
以下是完整的资料来源:
www.pastebin.com/gzqLBFh9
MinGW编译器.
有错误cast from 'CHAR*' to 'WORD' loses precision,selbie给出了在这里添加宏的建议:用WNDCLASSEX创建窗口?[Cpp].感谢他 - 它消失了.
Dav*_*nan 14
问题实际上MAKEINTRESOURCE(IDC_ARROW)与...的类型无关mHandle.[旁白:我同意不mHandle应该这样,size_t但我认为这不是你目前的问题.]
既然IDC_ARROW定义为MAKEINTRESOURCE(32512),那么代码实际上应该是读取的
LoadCursor(NULL, IDC_ARROW)
Run Code Online (Sandbox Code Playgroud)
而不是
LoadCursor(NULL, MAKEINTRESOURCE(IDC_ARROW))
Run Code Online (Sandbox Code Playgroud)
后一个代码失败,因为IDC_ARROW是LPTSTR但MAKEINTRESOURCE()期望的WORD.这解释了您看到的错误消息.事实上,IDC_ARROW它已经是一种资源类型,无需进一步处理.
同样,所有其他调用LoadCursor()都是错误的.
| 归档时间: |
|
| 查看次数: |
3735 次 |
| 最近记录: |