我將如何在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