创建指向抽象对象的指针向量

时间:2010-10-07 16:55:20

标签: c++ data-structures

我确信有更好的方法可以做到这一点。

我正在尝试创建一个在实例化时给出大小的类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
};

从我所看到的,vector是这里使用的最佳数据结构,因为它允许我在构造函数中给它一个大小,并允许我使用myTable[index]样式表示法来访问它的内容。但是,VS2010不喜欢我对vector<* TableNode<T>>的使用,我不能说我责备它。那么,我如何创建一个数组或向量或任何指向TableNode<T>元素的指针?

2 个答案:

答案 0 :(得分:2)

移动星号:

vector<TableNode<T>*> myTable;

myTable = vector<TableNode<T>*>(size,NULL);

答案 1 :(得分:0)

vector<TableNode<T>*> myTable;
myTable = vector<TableNode<T>*>(size,NULL);

FTFY。