error: undefined reference to `Output::CloseOutput()' 的解決


我剛開始接觸C++,然后調試程序的時候出現兩個錯誤,這里記錄一下

1、重復定義的問題: 

        重復定義會出現在兩個地方,一個是編譯的時候,一個是連接的時候。對於編譯的時候出現重復編譯,加入#ifndef就好了,這個我在使用QT的時候,新建一個類會自動給出,所以初步判斷是鏈接的時候重復定義了,上網找了答案,原來,變量在頭文件中要聲明,而把定義放在.cpp文件里。所以在頭文件里的對應變量前加入extern  關鍵字就好了

2、就是標題里沒有引用的問題:

         這個問題我排查了半個小時,之后觀察其他沒有像這樣給出報錯的函數,原來,在寫函數定義時需要寫個對應類的作用域。如圖

 

 最后,在函數CloseInput 函數前加入Input:: ,(我的函數CloseInput是類Input的函數)問題解決了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM