У меня проблемы с концепцией шаблонов. Мой класс связанного списка является шаблонным, как и мой набор хэшей.
В моих личных переменных для моего хэш-набора я представляю набор как таковой:
LinkedList<T>* hashTab;
и я получаю ошибку
expected member name or ';' after declaration specifiers
**LinkedList<T>*** hashTab;
это как я по умолчанию построить хэш-набор
hashTab = new LinkedList[DEFAULT_CAPACITY];
capacity = DEFAULT_CAPACITY;
Эти классы находятся в отдельных заголовочных файлах в одной папке. Что может быть причиной этой ошибки ??
пример:
A.hpp
template<typename T>
class A{
public:
A();
};
B.hpp
#include "A.hpp"
template<typename T>
class B{
private:
A<T>* hashTab;
public:
B();
};
template <typename T>
B::B(){
hashTab = new A[10];
}
Когда вы определяете свои функции-члены шаблона вне вашего класса, вы должны предоставить аргументы шаблона для B
и вы всегда должны предоставлять их члену A<T>*
:
template <typename T>
B<T>::B(){
hashTab = new A<T>[10];
}
Других решений пока нет …