今天遇到这么一个问题,一个结构体编译报错,“重定义;不同的基类型”,这个结构体在一个头文件中定义,在两个cpp文件中包含该头文件,就报这个错误,结构体的定义形式为:
typedefine struct strct{
int x;
int y;
} stt;
将结构体的定义形式改为如下方式,错误排除:struct stt{
int x;
int y;
};分析:第一种定义方式为C语言定义,第二种为C++定义,C++ struct 等同于类,因此第二种形式相当于是一种声明,所以不会报错,而C语言则会报重定义错误。
本文介绍了一个关于C/C++中结构体重定义的问题及其解决方案。通过对比两种不同的结构体定义方式,解释了为何会出现“重定义;不同的基类型”的错误,并给出了修正方法。

2797

被折叠的 条评论
为什么被折叠?



