title: C++ strongly typed enums in visual studio 2010
body: <p>When I use a strongly typed enum in VS2010, for example:</p>
  
  <pre><code>enum eTest : long long
  {
  _test1                  = 0x0000000000000001,
  _test2                  = 0x0000000000000002,
  };
  </code></pre>
  
  <p>I get this warning:</p>
  
  <p><a href="http://msdn.microsoft.com/en-us/library/ms173702.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms173702.aspx</a></p>
  
  <p>nonstandard extension used: specifying underlying type for enum 'enum'</p>
  
  <p>Why is this? I thought VS2010 supported C++11? Also is a 64bit based enum safe between 64-32bit VS2010 compilers?</p>
  
  <p>Edit:</p>
  
  <p>Regarding the second part of my question: I asked about the 32 vs 64bit because OR'ing bit flags from a 64bit enum when targeting 32bit resulted in compiler errors. However I found out that the reason for is is because enabling Microsoft's Code Analysis causes this to break.</p>