vc2010中,MOUSEMSG报错(用vs2019编译正确)

img

一下是报错的代码 :
while (true)
{
m = (int)GetMouseMsg(); //当鼠标左键被按下
if (m.uMsg == WM_LBUTTONDOWN)
{
break;
}
}

m =(int)GetMouseMsg();                   //当鼠标左键被按下
if (m.uMsg == WM_LBUTTONDOWN)
{
    final = 0;
    initdata();

结构体是这样定义的:
struct MOUSEMSG
{
UINT uMsg; // 当前鼠标消息
bool mkCtrl; // Ctrl 键是否按下
bool mkShift; // Shift 键是否按下
bool mkLButton; // 鼠标左键是否按下
bool mkMButton; // 鼠标中键是否按下
bool mkRButton; // 鼠标右键是否按下
short x; // 当前鼠标 x 坐标
short y; // 当前鼠标 y 坐标
short wheel; // 鼠标滚轮滚动值 (120 的倍数)
};
MOUSEMSG GetMouseMsg();
MOUSEMSG m;

如若回答,吾将感激不尽

m不是数据结构吗?为啥强制转为int??不可能在vs2019编译通过

看if语句你也能知道m是个数据结构,不是个整型。你强制转换为int肯定报错,等号两边类型不一致
去掉(int)

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632