MULTIPLE PUBLIC DEFINITIONS.
如果在编程中出现(*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS.)这类错误,应该有俩种情况(本人遇到过俩种)一起看看吧。1.错误示例如下https://i-blog.csdnimg.cn/blog_migrate/771ee96bc56634f307b5c0b3a821091b.png2.错误解释该报错是指,多个公共定义,意思是,一个变量或者函数重复定义了3.解决方法情况一:关于extern的使用下面有一个具体例子:https://i-blog.csdnimg.cn/blog_migrate/9d1a0138837a76f1e1fab1b6f5e02343.pnghttps://i-blog.csdnimg.cn/blog_migrate/1e24c66c001206db350b4e0177507ebb.png这种情况就会报*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS.这个错误,原因是extern使用不当,当我们使用extern外部变量声明的时候,只需要对该变量进行定义就好了,不能对该变量进行初始化,通俗来说就是不能够修改它的初值,毕竟它不属于你这个文件。情况二:函数名和变量名“重复”我们继续看一个例子(也是我刚刚编程遇到的):https://i-blog.csdnimg.cn/blog_migrate/9d7315b47eb86da7195b0f86f0648e3f.png当时就很奇怪,也是找半天没发现哪重复定义了,后来仔细一想,我定义了一个变量时main_display,还有一个函数Main_Display(),这个报错显示的是SYMBOL:MAIN_DISPLAY,会不会是无法区分大小写,后来查了一下,发现是真的无法区分大小写,当时没改变量名只是想为了好区分函数里面的变量。后来改了个变量名字就解决了。如下图所示:https://i-blog.csdnimg.cn/blog_migrate/3bf9c27b79ed7dcab0638daaea2c7c7e.pnghttps://blog.csdn.net/2301_76605333/article/details/137235859同一个变量或函数在多个源文件中被重复定义。 变量重复定义用extern关键字或者用静态变量。 如果函数很小且需要频繁调用,可以使用inline关键字在头文件中定义,但要确保在多个文件中使用时不会导致重复定义。
页:
[1]