首页 > 代码库 > byte重复定义问题
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;
先看下面的编译错误信息:
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;
byte重复定义问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。