我有具有以下构造函数的类表型:
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*)
该错误似乎表明有一种方法可以定义一个构造函数,该构造函数采用大括号括起来的初始值设定项列表。有谁知道如何做到这一点?