智能视觉点胶机:redefinition是什么意思啊,急用

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/10 09:34:21
多谢啊,因为是c语言出现的错误,不知道意思就没法改

redefinition:

n. 重新定义

英英解释:
名词redefinition:

1. the act of giving a new definition

我们的 engine 中定义了一个自己的类型叫做 boolean ,是这样定义的: typedef unsigned long int boolean;

我们的程序不主张使用 windows.h ,一直以来也没有去包含 windows.h

但是,今天包含 windows.h 时发现,boolean 被 redefinition 了。因为 C 语言里的 #ifdef 只能检查宏定义,而不能检查 typedef 定义,所以这个问题比较棘手。

当然,我不能修改 windows 系统头文件的内容;同样,我也不希望修改我们引擎的头文件。

实际上,如果多次 typedef 的类型完全一致的话,编译器是不会报错的。可惜 rpcndr.h 这个头文件中,是这样写的。 typedef unsigned char boolean;

下面是一个解决方案。

#include <windows.h>

typedef unsigned long int my_boolean;
#define boolean my_boolean

#include "mytypedef.h"当然这样用的前提是,我知道我调用的所有 Windows API 都不会涉及 windows 定义的那个 boolean。

redefinition
KK: []
DJ: []
n.
1. 再加以解说;再给予定义
http://www.baidu.com/baidu?ie=gb2312&bs=&sr=&z=&ct=1048576&cl=3&f=8&word=redefinition