C++ 如何在另一个模板化数据结构中使用模板化数据结构?

C++ 如何在另一个模板化数据结构中使用模板化数据结构?,c++,list,templates,dictionary,dynamic-arrays,C++,List,Templates,Dictionary,Dynamic Arrays,我已经编写了一个模板化列表类。它具有标准的列表功能(前弹出、后推等) 我还想写一个Dictionary类,但是遇到了一个问题,阻止了我使用哈希函数 为了解决可能与哈希冲突的问题,我决定Dictionary类应该包含一个动态列表数组。 我想做的是使用哈希函数为Dictionary类中的列表数组编制索引,并从中插入/获取所需信息。 或如果发生冲突,我可以链接字典 下面是我的代码片段。我希望有人能看到这一点,并告诉我为什么当我试图在字典中索引我的列表数组时,它会给我错误 (K表示我将散列的键,T表示

我已经编写了一个模板化列表类。它具有标准的列表功能(前弹出、后推等)

我还想写一个Dictionary类,但是遇到了一个问题,阻止了我使用哈希函数

为了解决可能与哈希冲突的问题,我决定Dictionary类应该包含一个动态列表数组。


我想做的是使用哈希函数为Dictionary类中的列表数组编制索引,并从中插入/获取所需信息。
如果发生冲突,我可以链接字典

下面是我的代码片段。我希望有人能看到这一点,并告诉我为什么当我试图在字典中索引我的列表数组时,它会给我错误

(K表示我将散列的键,T表示类型)

模板
类词典
{    
公众:
void Init(整数大小);
无效插入(K键,T值);
int(*散列)(K键);
私人:
列出*数据;
}  
问题就从这里开始。。。(我认为):

模板
void Dictionary::Init(int-size)
{  
数据=新列表[大小];
}    
模板
无效字典::插入(K键,T值)
{  
int h=散列(键);
//数据[h]。回推(值);//问题
//数据[h]->回推(值);//问题
}    
---------- 在我注释掉这两行并写下“PROMBLEM”的地方,我感到困惑。。。嗯

要明确的是:我只想后退一次,而不是两次。我只是想说明这两种语法都不起作用

所以:我想知道如何浏览我的列表数组(这些列表仅由一个
“T类”),并在我选择的任何索引处插入


这是我的第一篇文章,希望能得到任何帮助

---------- 编辑*
看来我的代码运行得很好。只是VisualStudio中的intellisense没有接收到更改。(现在仍然不是。)


但看起来一切都正常

无效字典中缺少
s是打字错误吗?应将数据定义为类似矢量>*数据的内容。另外,请注意,您必须比较bucket中的键值对,否则,如果多次插入相同的键值对,那么bucket中可能会有多个相同的键值对副本。是否可以发布一个?你遇到了什么问题?你的代码没有编译?张贴您收到的特定错误消息。
template < class K, class T >
class Dictionary
{    
public:  
    void Init( int size );  
    void Insert( K key, T value );  

    int (*Hash)( K key );
private:  
    List< T >* data;
}  
template< class K, class T >  
void Dictionary< K, T >::Init( int size )  
{  
    data = new List< T >[ size ];  
}    

template < class K, class T >  
void Dictionary< K, T >::Insert( K key, T value )  
{  
    int h = Hash( key );  
    //data[ h ].PushBack( value );  //PROBLEM
    //data[ h ]->PushBack( value );  //PROBLEM
}