title: Forward Declaring enum class not working
body: <p>In State.h I have</p>
  
  <pre><code>enum class StateID : unsigned int;
  </code></pre>
  
  <p>In State.cpp I have</p>
  
  <pre><code>enum class StateID : unsigned int
  {
      NullID = 0,
      MainMenuID,
      GamePlayID,
  };
  </code></pre>
  
  <p>The problem is that any class that includes <code>State.h</code> has the forward declaration, but I can't use any <code>enum</code> value within any cpp file except <code>States.cpp</code> ( which defined it ), like <code>StateID::MainMenuID</code>.  The error says...</p>
  
  <blockquote>
    <p>/home/lee/Projects/SuddenAwakening/Source/Game.cpp:24: error: 'MainMenuID' is not a member of 'StateID'</p>
  </blockquote>
  
  <p>I'm running LinuxMint15KDE, g++ 4.7, and I am using c++11 features in other parts like nullptr, unique_ptr, ect..., so it's not that I forgot the compiler flag for c++11.</p>