我收到一个未定义的引用错误,指向不存在的东西
I'm getting an undefined reference error to something that isn't there
当我尝试编译此代码时
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实现的。您需要链接这两个类的对象——仅仅包括头是不够的。但可以肯定的是,我们需要看到更多的代码。
相关文章:
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- C++引用错误
- 已定义函数时出现 G++ "未定义的引用"错误
- 错误:使用通用引用的声明冲突
- 链接 cmake 时出现未定义的引用错误
- 错误:未定义对'oboe::AudioStreamBuilder::openStream(oboe::AudioStream**)'的引用
- 链接器错误:未定义对"Reference_Genome::seq[abi:cxx11]"的引用
- C++ 中的编译错误:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
- 错误:无法解析对重载函数的引用;你的意思是调用它吗?
- 在 gtest 中初始化堆栈上的引用变量的隔离错误
- 运行时错误:引用绑定到类型为"int"的空指针
- 隐式重新解释引用时强制转换,没有警告/错误
- 只有级联分类器会发出未定义的引用错误
- 错误:未定义对cv::cudacodec::createVideoReader的引用
- 模板流运算符重载错误:引用初始化无效,与basic_istream和basic_ifstream之间的差异有关
- 对于我的 ComplexNumber 中的某些方法,我得到了一个奇怪的未定义错误引用.cpp,不过我对模板很陌生
- 从对象调用成员对象,错误:引用非常量值的初始值必须是左值
- Qt并发错误:引用非静态成员