title: Brace-enclosed initializer list constructor
body: <p>I have class Phenotype with the following constructor:</p>
  
  <pre><code>Phenotype(uint8 init[NUM_ITEMS]);
  </code></pre>
  
  <p>I can create a Phenotype like this:</p>
  
  <pre><code>uint8 data[] = {0,0,0,0,0};
  Phenotype p(data);
  </code></pre>
  
  <p>But I get an error when I try to create one like this:</p>
  
  <pre><code>Phenotype p = {0,0,0,0,0};
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>$ 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(&lt;brace-enclosed initializer list&gt;)’
  main.cpp:37: note: candidates are: Phenotype::Phenotype(uint8*)
  </code></pre>
  
  <p>The error seems to indicate that there is a way to define a constructor which takes a brace-enclosed initializer list. Does anyone know how this might be done? </p>