c++同样结构体名冲突报错
两个不同的头文件中有同名的结构体
在编译项目文件的时候出现报错,结构体多次定义,其中一个头文件a的结构体是
typedef struct {
double x, y;
} Point;
另外一个头文件b是
typedef struct Point
{
int16 cardinality;
uint8 num_coords;
/* Open dimension coordinates are stored before the closed coordinates */
int64 coordinates[FLEXIBLE_ARRAY_MEMBER];
} Point;
我在cpp文件中使用
#inclue "a.h"
#inclue "b.h"
时就报错
修改方法
假如a.h中的Point类不是我需要的,而b.h是我需要的,那么做下面的修改,define后面的名字随便取都行.
#inclue "a.h"
#define Point yourname
#inclue "b.h"
posted on 2023-10-30 11:27 valusoz_asz 阅读(146) 评论(0) 编辑 收藏 举报