C++中出现error LNK2001,如何解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中出现error LNK2001,如何解决相关的知识,希望对你有一定的参考价值。

ex3_10.obj : error LNK2001: unresolved external symbol "public: __thiscall test::test(void)" (??0test@@QAE@XZ)
Debug/ex3_10.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
源代码为:
// ex3_10.cpp
#include "test.h"
#include<iostream>
using namespace std;
void main()

cout<<"the main function:"<<endl;
test array[5];
cout<<"the second element of array is "<<array[1].getint()
<<" "<<array[1].getfloat()<<endl;

参考技术A 未知的外部符号----
test::test(void)
__thiscall 是类成员函数调用约定
一般就是声明了但是没有该成员函数的定义。。。
还有时是继承了抽象类。。。而没有定义纯虚函数
特殊的是用了分离MSAM设置错误(好像一般不是这样翻译,分离MSAM是我从MSDN中直译过来的)
抽象基类要不不要写构造函数(会用默认构造函数),写了就要完善
参考技术B test类缺少无参构造函数test(void)追问

你把最终的能实现的代码发个吧,谢了亲啦!

追答

我连你的test类的头文件是什么内容都不知道,如何完成最终代码?

追问

我也没有test类呀!~~~~(>_<)~~~~

追答

没有吗?那这个是什么意思:#include "test.h"
如果没有这个头文件,不会报这个错

以上是关于C++中出现error LNK2001,如何解决的主要内容,如果未能解决你的问题,请参考以下文章

c++错误:error LNK2001

C++静态成员变量必须在类的定义之外进行声明 (error LNK2001: unresolved external symbol)

C++静态成员变量必须在类的定义之外进行声明 (error LNK2001: unresolved external symbol)

C++ error LNK2001: 无法解析的外部符号

c++中调用python脚本提示 error LNK2001: 无法解析的外部符号 __imp_Py_Initialize等错误的解决方法

VC++ 6.0中遇到 error LNK2001错误怎么办?