关于C语言结构体重复定义的问题我有3个cpp源文件,每个都用到了我在supply.h里定义的结构体,所以每个源文件都包含了supply.h,但连接时并没有出现结构体重复定义的问题,这时候,我在main.cpp中再

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 09:27:01
关于C语言结构体重复定义的问题我有3个cpp源文件,每个都用到了我在supply.h里定义的结构体,所以每个源文件都包含了supply.h,但连接时并没有出现结构体重复定义的问题,这时候,我在main.cpp中再

关于C语言结构体重复定义的问题我有3个cpp源文件,每个都用到了我在supply.h里定义的结构体,所以每个源文件都包含了supply.h,但连接时并没有出现结构体重复定义的问题,这时候,我在main.cpp中再
关于C语言结构体重复定义的问题
我有3个cpp源文件,每个都用到了我在supply.h里定义的结构体,所以每个源文件都包含了supply.h,但连接时并没有出现结构体重复定义的问题,这时候,我在main.cpp中再次定义了一个已经在supply.h的结构体(main.cpp已经包含了supply.h),在编译阶段就出现了重复定义,难道说结构体重复定义的问题只会出现在编译阶段,而不会出现在连接阶段嘛?

关于C语言结构体重复定义的问题我有3个cpp源文件,每个都用到了我在supply.h里定义的结构体,所以每个源文件都包含了supply.h,但连接时并没有出现结构体重复定义的问题,这时候,我在main.cpp中再
你所谓的结构体定义只是个声明,编译的时候并不会分配实际空间.只有在用它去定义一个变量的时候才会有具体的空间.类似一个概念,没有实体.所以在不同的文件中包含头文件,链接的时候不会有什么问题.但是你在main.cpp里又声明了一个同样名字的结构,就有冲突了,同一个名字有不同的内容,这个是不允许的.