我收到未定义的引用错误,该错误不存在

问题描述

|| 当我尝试编译这段代码
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实现的。您需要链接两个类的对象-仅包含标头是不够的。但是可以肯定的是,我们需要查看更多代码。