title: Strange usage of typedef + enum
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/6399898/is-the-typedef-name-optional-in-a-typedef-declaration">Is the typedef-name optional in a typedef declaration?</a>  </p>
  </blockquote>
  
  
  
  <p>I'm on Visual Studio 2008 and I saw this:</p>
  
  <pre><code>typedef enum testfoo
  {
      enum1,
      enum2,
      enum3
  };
  </code></pre>
  
  <p>Normally the C-style way of using typedef this way requires one additional piece (the name):</p>
  
  <pre><code>typedef enum testfoo
  {
      enum1,
      enum2,
      enum3
  } testfoo_name;
  </code></pre>
  
  <p>What is the former example doing? Strangely it compiles, but not sure what it's actually defining.</p>