删除了'simple_vector :: simple_vector(int)'的定义

时间:2019-03-25 00:27:01

标签: c++ class constructor dynamic-arrays

我正在使用动态数组在C ++中创建一个简单的矢量类。必须删除带有node-sass参数的构造函数。

我有两个错误:

  • 从我的cpp文件中删除了int的定义。

  • 我的hpp文件中的simple_vector::simple_vector(int)的先前声明。

这是怎么回事?我班的名字是simple_vector::simple_vector(int)。它只能包含simple_vector个元素。

老实说,我不知道该怎么办。

Hpp文件

double

Cpp文件

simple_vector(const int a);

1 个答案:

答案 0 :(得分:2)

您不能在delete文件的定义中将其构造器标记为cpp,需要在其声明中将其标记为放在hpp文件中。

hpp文件中,更改以下内容:

simple_vector(const int a);

对此:

simple_vector(const int) = delete;

然后在cpp文件中,将其完全删除:

simple_vector::simple_vector(const int a) = delete;