title: Getting errors because compiler confuses static enum class between C++11 and Managed C++
body: <p>I have recently migrated a Managed C++ project from Visual Studio 2010 to 2013.</p>
  
  <p>Inside the definition of a class, I have:</p>
  
  <pre><code>static enum class ItemType
  {
      SHOP=IDS_SHOP,
      PAGE=IDS_PAGE,
      PHOTO=IDS_PHOTO
  };
  
  
  static bool EnumTryParse(CString sItemType, ItemType&amp; refItemType)
  {       
      System::String^ sType = gcnew System::String(sItemType);
      return System::Enum::TryParse(sType, refItemType);
  }
  </code></pre>
  
  <p>Trying to compile it is giving me errors. The reason seems to be that 2013 version uses C++11 behind the scenes and it confuses the Managed C++ enum class with the C++11 enum class.</p>
  
  <p>What is the proper way to adapt my code to the new version?</p>