“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改个名就好了!编译就过了。

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值