我将如何在C++中实现一个哈希表数组?在C++中初始化哈希表数组的正确语法是什么?
我有一个构造函数看起来像这样一个Hashtable类:
explicit ChainingHashTable(const HashedObj & notFound, int size = 101);
所以我试图做使这些哈希表的数组:
static ChainingHashTable<int> answers[5] = { {0, 500}, {0, 500}, {0, 500}, {0, 500}, {0, 500} };
不过,我得到以下错误&警告:
browser.cpp:106:71: warning: extended initializer lists only available with -std=c++0x or -std=gnu++0x [enabled by default]
browser.cpp:106:71: error: converting to ‘ChainingHashTable<int>’ from initializer list would use explicit constructor ‘ChainingHashTable<HashedObj>::ChainingHashTable(const HashedObj&, int) [with HashedObj = int]’
我不能使用不同的编译器因为这是一个班级任务,但我做错了什么?什么是适当的语法?
它是在一个类/对象被创建,所以另外,我将如何在构造函数中初始化它? – kabirpong 2012-02-29 03:07:15
[在C++中初始化一个静态成员(一个数组)](http://stackoverflow.com/questions/2570235/initialize-a-static-member-an-array-in-c) – 2012-02-29 03:07:46
最简单的解决方案是避免这个问题:不要使用数组,而是使用向量。 – 2012-02-29 03:18:11