Реализация хеш-набора с использованием динамически распределенного массива реализации связанных списков

У меня проблемы с концепцией шаблонов. Мой класс связанного списка является шаблонным, как и мой набор хэшей.

В моих личных переменных для моего хэш-набора я представляю набор как таковой:

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];
}

-1

Решение

Когда вы определяете свои функции-члены шаблона вне вашего класса, вы должны предоставить аргументы шаблона для Bи вы всегда должны предоставлять их члену A<T>*:

template <typename T>
B<T>::B(){
hashTab = new A<T>[10];
}

демонстрация

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]