Constructor de lista de inicializador entre llaves

Tengo el fenotipo de clase con el siguiente constructor:

Phenotype(uint8 init[NUM_ITEMS]);

Puedo crear un fenotipo como este:

uint8 data[] = {0,0,0,0,0};
Phenotype p(data);

Pero recibo un error cuando intento crear uno como este:

Phenotype p = {0,0,0,0,0};

Salida:

$ 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*)

El error parece indicar que hay una manera de definir un constructor que toma una lista de inicializadores entre llaves. ¿Alguien sabe cómo se puede hacer esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta