Strange usage of typedef + enum
<blockquote>
  <p><strong>Possible Duplicate:</strong><br>
  <a href="http://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>
