Я уверен есть лучший способ сделать это.
Я пытаюсь создать класс HashTable
, которому при создании экземпляра присваивается размер, поэтому он не может быть задан во время разработки, поэтому я могу Насколько я знаю, я не использую массив в качестве внутреннего представления таблицы.
Итак, вот что я пытаюсь сделать:
#include <vector>
#include <iostream>
#include "Nodes.h"
using namespace std;
template <class T>
class HashTable{
protected:
vector<* TableNode<T>> myTable;
//other protected methods go here
public:
HashTable(int size){
myTable = vector<* TableNode<T>>(size,NULL);
}
//The rest of the class
};
Из того, что я видел, вектор - лучшая структура данных для использования Вот, потому что это позволит мне указать размер в конструкторе и использовать нотацию стиля myTable [index]
для доступа к его содержимому. Однако VS2010 не нравится мое использование vector <* TableNode
, и я не могу винить его. Итак, как мне создать массив, вектор или что-то еще из указателей на элементы TableNode
?