title: Why does C++11 not support anonymous structs, while C11 does?
body: <p>C11 supports anonymous structures, like so:</p>
  
  <pre><code>struct Foo
  {
      struct
      {
          size_t x, y;
      };
  };
  struct Foo f;
  f.x = 17;
  f.y = 42;
  </code></pre>
  
  <p>Basically, the members of such a <code>struct</code> are treated as if they were members of the enclosing <code>struct</code> or <code>union</code> (recursively, if the enclosing structure was itself anonymous).</p>
  
  <p>What was the rationale for C++11 not also including anonymous structures?  They're only uncommonly useful (mostly inside unions, to eliminate the typing of an identifier for the <code>struct</code>), certainly.  But they seem an obvious enough addition to the specification (and one already implemented by many compilers) that surely they must have been discussed, at the very least to preserve compatibility with the C11 standard.  So why weren't they added?</p>