如何解决我收到未定义的引用错误,该错误不存在
|| 当我尝试编译这段代码时Analysis2::Analysis2() //line 13
{
Seconds_v = 0; //Seconds_v and Seconds_t are both of type int
Seconds_t = 0; //and declared in header
}
我得到这个错误
analysis2.cpp:13:对`FileParameters :: FileParameters()\的未定义引用
为什么给我未定义的引用? FileParameters是Analysis2中包含的一个类,如果有帮助,可以在Analysis2头文件中定义一个FileParameters对象。
解决方法
使用构造函数时,如果未在初始化列表中显式构造每个成员变量,则会自动默认构造每个成员变量。上面的代码会自动扩展为:
Analysis2::Analysis2() : mFileParams(),Seconds_v(),Seconds_t() // line 13
{
Seconds_v = 0; //Seconds_v and Seconds_t are both of type int
Seconds_t = 0; //and declared in header
}
而且,如果您尚未实现FileParameters
的默认构造函数,或者甚至没有可访问的构造函数,那就是您得到的错误。
,Analysis2类(可怕的名称,BTW)可能是使用FileParameters实现的。您需要链接两个类的对象-仅包含标头是不够的。但是可以肯定的是,我们需要查看更多代码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。