byte重复定义问题

现象:
先看下面的编译错误信息:
c:\program files (x86)\microsoft sdks\windows\v7.0a\include\wbemcli.h(1196): error C2872: “byte”: 不明确的符号,可能是“c:\program files (x86)\microsoft sdks\windows\v7.0a\include\rpcndr.h(160) : unsigned char byte”或“w:\include\types\types.h(31) : kiwi::types::byte”

分析:
错误提示意思为程序中两处重复定义了byte类型,其中
rpcndr.h的定义为:typedef unsigned char byte;
types.h的定义为:typedef unsigned char kiwi::types::byte;

而且程序还显示导入了kiwi::types名字空间,代码如下:
using namespace kiwi::types;

解决:
先包含没有名字空间的byte定义的文件,后包含有名字空间的byte定义文件。
例如:
///先包含没有名字空间的byte定义的文件
#include <wbemcli.h>
///后包含有名字空间的byte定义文件
#include "types/types.h"
using namespace kiwi::types;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值