我有类表型与下面的构造:括号内的初始化列表构造
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