欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: [新人求助]編譯報錯ERROR L104: MULTIPLE PUBLIC DEFINITIONS [打印本頁]

作者: Ahwen2002    時間: 2022-2-8 13:16
標題: [新人求助]編譯報錯ERROR L104: MULTIPLE PUBLIC DEFINITIONS
各位大神好,本人單片機+編程新手,今日編寫程序遇到了這個錯誤,百度查了一下說是變量table重復定義,但是我代碼涉及到table變量的只在一個頭文件里有,這是怎么一回事呢?因為已經糾結一段時間還是沒能搞定,特來此求助!

以及這也是本人第一次編寫使用頭文件,也不知道和頭文件編寫或者調用錯誤有沒有關系

3da9e107416ec6cf8fef18219fee546.png (45.47 KB, 下載次數: 81)

錯誤說明

錯誤說明

1644296994.png (62.62 KB, 下載次數: 69)

主函數

主函數

1644296994(1).png (57.32 KB, 下載次數: 69)

相應頭文件代碼

相應頭文件代碼

作者: woshige    時間: 2022-2-8 14:48
你這個table數組不要定義在頭文件里面,要定義也可以,但是不要給初值。給你提供說個方法你修改試一下,把table定義并初始化在smg.c文件里面,然后在smg.h中extern一下,這樣編譯應該就可以了。
作者: Ahwen2002    時間: 2022-2-8 15:40
希望能有大佬給我一個方向,第一次遇到這個問題確實有點迷茫
作者: devcang    時間: 2022-2-8 15:59
變量定義在.c中,然后在.h中 extern 全局變量
作者: 13205495918    時間: 2022-2-8 16:09
smg這個h文件的數組前加個extern
作者: Ahwen2002    時間: 2022-2-8 17:02
剛剛收到了一位好心大佬的短消息,說是在.h的數組定義那里要加上extern,我去修改了一下我的代碼,第一次是直接加了extern,但是編譯仍然不成功,于是我就順著這個思路,干脆把數組定義放在了.c文件中,并再在smg.h中聲明,這下就可以了!
非常感謝那位大佬的指引,可惜我這里還不能發短消息所以沒法直接回復,希望你能看到!
作者: Ahwen2002    時間: 2022-2-9 11:33
woshige 發表于 2022-2-8 14:48
你這個table數組不要定義在頭文件里面,要定義也可以,但是不要給初值。給你提供說個方法你修改試一下,把t ...

感謝大佬!你的方法是對的,我昨天修改了這個定義就運行成功了!
作者: Ahwen2002    時間: 2022-2-9 11:34
devcang 發表于 2022-2-8 15:59
變量定義在.c中,然后在.h中 extern 全局變量

嗯嗯!謝謝你!你的方法是對的,我修改以后運行成功了!
作者: Ahwen2002    時間: 2022-2-9 11:35
13205495918 發表于 2022-2-8 16:09
smg這個h文件的數組前加個extern

啊你就是給我發短消息的那位好心大佬!我昨天順著你的思路去修改了,最后運行成功了,非常感謝!
作者: wojiaoguogai    時間: 2022-2-9 14:01
你定義在頭文件,就相當于在每個包含這個.h的.c文件里面全部定義了一遍
作者: Ahwen2002    時間: 2022-2-11 15:51
wojiaoguogai 發表于 2022-2-9 14:01
你定義在頭文件,就相當于在每個包含這個.h的.c文件里面全部定義了一遍

明白了!非常感謝你的解答!




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1