пространство имен и шаблон класса векторное объявление методов («Вектор» не называет тип; вы имели в виду «perror»?) - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть некоторые проблемы с этой программой, я не могу переопределить методы конструктора в файл CPP. Компилятор выдает мне эту ошибку:

ошибка: «Вектор» не называет тип; Вы имели в виду «perror» (я использую c ++ 11);

#ifndef ESERCIZIO_1_VECTOR_H
#define ESERCIZIO_1_VECTOR_H
#include <iostream>
#include "container.h"  

namespace lasd
    {
        template <typename T>
        class Vector
        { 

        private:
            T *arr = nullptr;
            int size;
            int length; // number of elements into the array
        public:
            // Default constructor
            Vector();
            // Specific constructor
            Vector(int size, int length = 0);
           }
    #include ''vector.cpp''
    }
#endif

Это вектор файла. cpp

template <typename T>
Vector<T>::Vector()
    :Vector<T>::Vector(10) {};

template <typename T>
Vector<T>::Vector(int size, int length )
        :size{size}, length{length}
{
    arr = new T[size];
};

1 Ответ

0 голосов
/ 04 апреля 2020

Я думаю, что определение конструктора должно работать как заголовочный файл (@Rene). Я считаю, что эта ссылка относится к этой проблеме https://isocpp.org/wiki/faq/templates

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...