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