解决提示“previous definition of...“或者“conflicting types for...“问题方法

分享一个前几天在liunx下环境下使用gcc编译时候出现的一个语法错误,错误提示是:

//这里只放出关键错误提示信息:
note: previous definition of ‘battery_lod_num’ was here
                 unsigned int battery_num = 0, battery_lod_num = 0, batttemp = 0;


error: conflicting types for ‘battery_lod_num’
                 unsigned char battery_num2 = 0, battery_lod_num = 0;

我们从上面的错误信息可以看出,错误的根本原因是因为我定义了两个不同类型的变量:“battery_lod_num”

所以第一条提示“previous definition of ‘battery_lod_num’ …”指的是下面的定义与之前定义的不同,而第二条提示“conflicting types for ‘battery_lod_num’ …”指的是该变量与下面的定义的变量有冲突

到这里我们就可以看出来,结合两条提示信息,可以看出我这里是一不小心定义了两个"battery_num"

unsigned char battery_lod_num = 0;
unsigned int battery_lod_num = 0;

所以编译器才会提示两次定义不同,定义有冲突。

因此,如果也有小伙伴遇到这种错误,解决方法就是:查找一下自己的代码,是否存在有重复定义多个具有相同名字且定义为不同类型的变量。

好了,今天分享就到这里为止~

本人水平有限,上述信息仅供学习参考,如有错误和不妥之处,请多多指教。
另外创作不易,请勿抄袭,如果有帮助到大家的话希望大家可以点个赞和收藏,谢谢~

猜你喜欢

转载自blog.csdn.net/OMGMac/article/details/129150871
今日推荐