我有類表型與下面的構造:括號內的初始化列表構造
Phenotype(uint8 init[NUM_ITEMS]);
我可以創建這樣的表型:
uint8 data[] = {0,0,0,0,0};
Phenotype p(data);
,但我得到一個錯誤,當我嘗試創建一個這樣的:
Phenotype p = {0,0,0,0,0};
輸出:
$ make
g++ -Wall -g main.cpp -std=c++0x
main.cpp: In function ‘int main(int, char**)’:
main.cpp:109: error: no matching function for call to ‘Phenotype::Phenotype(<brace-enclosed initializer list>)’
main.cpp:37: note: candidates are: Phenotype::Phenotype(uint8*)
該錯誤似乎表明有一種方法來定義一個構造函數,該構造函數接受一個大括號包含的初始化程序列表。有誰知道這可能會怎麼做?
可能重複(http://stackoverflow.com/questions/3424727/can-we-傳遞數組作爲參數的功能,通過這種語法下即將到來的c0x) – kennytm 2010-11-07 14:04:50