Удалено определение 'simple_vector :: simple_vector (int)' - PullRequest
1 голос
/ 25 марта 2019

Я создаю простой векторный класс в C ++, используя динамические массивы.Конструктор с параметром int должен быть удален.

У меня есть две ошибки:

  • Удалено определение simple_vector::simple_vector(int) из моего файла cpp.

  • Предыдущее объявление simple_vector::simple_vector(int) из моего файла hpp.

Что происходит?Имя моего класса simple_vector.Он может содержать только double элементов.

Честно говоря, я понятия не имею, что делать.

Файл Hpp

simple_vector(const int a);

Файл Cpp

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

1 Ответ

2 голосов
/ 25 марта 2019

Вы не можете пометить ваш конструктор как delete 'd в его определении в файле cpp, его необходимо отметить в объявлении в hpp file вместо.

В файле hpp измените это:

simple_vector(const int a);

На это:

simple_vector(const int) = delete;

И в файле cpp удалитеэто полностью:

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