“DWORD”: 重定义;不同的基类型

在写设备相关的代码时,定义了这样一个枚举

enum DEVICE_TYPE
{
DEVICE_NONE = 0,
DEVICE_SPEAKER = 1,
DEVICE_MICROPHONE_ = 2,
DEVICE_CAMERA_ = 3
};

这个再正常不过了,但编译时却报了一个莫名其妙的错误:

error C2371: “DWORD”: 重定义;不同的基类型

真是找了半天才找着原因,你都不知道原因有多坑爹。

这是因为在经过重重叠叠的头文件包含后,include了winioctl.h。而winioctl.h是WindowsSDK的头文件:C:\Program Files (x86)\Windows Kits\8.1\Include\um\winioctl.h

winioctl.h 121行有这么一个定义

#define DEVICE_TYPE DWORD

结果你懂了吧!

解决方法就是把DEVICE_TYPE改个名就好了!编译就过了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值