title: Why can I not brace initialize a struct derived from another struct?
body: <p>When I run this code:</p>
  
  <pre><code>struct X {
      int a;
  };
  
  struct Y : public X {};
  
  X x = {0};
  Y Y = {0};
  </code></pre>
  
  <p>I get:</p>
  
  <pre><code>error: could not convert ‘{0}’ from ‘&lt;brace-enclosed initializer list&gt;’ to ‘Y’
  </code></pre>
  
  <p>Why does brace initialization work for the base class but not the derived class?</p>