当我尝试创建obejct数组时出现了某种错误

Somekind of error when i try create array of obejct

本文关键字:错误 数组 创建 obejct      更新时间:2023-10-16

我曾尝试在c++中创建对象数组,但我遇到了一些奇怪的错误,我不知道为什么。

Complex ** tab; //class field
matrix::matrix(int x, int y) //construktor
{
tab = new Complex * [x];
for (int i = 0; i < x; i ++)
{
tab[i] = new Complex[y];
}

错误为:

1> matrix.obj:错误LNK2019:未解析的外部符号"public:__thiscall Complex::Complex(void)"(??0Complex@@QAE@XZ)在函数"public:__thiscall matrix::matrix(int,int)"中引用(?0matrix@@QAE@HH@Z)

1> matrix.obj:错误LNK2019:未解析的外部符号"public:__thiscall Complex::~ Complex(void)"(??1Complex@@QAE@XZ)在函数"public:__thiscall matrix::matrix(int,int)"中引用(?0matrix@@QAE@HH@Z)

怎么了?

由于您的程序正在编译,并且未能链接到默认构造函数和默认析构函数,因此很明显您缺少实现

Complex::Complex()
Complex::~Complex()

提供实现,它应该可以解决您的问题。它们应该是琐碎的,而你错过了包括双开闭括号吗?

Complex {
......
Complex(){}
~Complex() {}
........
}