分享一个前几天在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;
所以编译器才会提示两次定义不同,定义有冲突。
因此,如果也有小伙伴遇到这种错误,解决方法就是:查找一下自己的代码,是否存在有重复定义多个具有相同名字且定义为不同类型的变量。
好了,今天分享就到这里为止~
本人水平有限,上述信息仅供学习参考,如有错误和不妥之处,请多多指教。
另外创作不易,请勿抄袭,如果有帮助到大家的话希望大家可以点个赞和收藏,谢谢~