title: Case expression not constant
body: <p>I am getting a 'case expression not constant' error in a switch statement. However, the header provides a definition for the used constants, and the constructor provides initialisation for them in its initialization list.</p>
  
  <p>Additionally, when I mouse over the "problem" statements it identifies them as constants.</p>
  
  <pre><code>const int ThisClass::EXAMPLE_CONSTANT
  
  error expression must have a constant value
  </code></pre>
  
  <p>This seems a little counter-intuitive to me. I did some research and found a similar problem that someone else had. They were told that all constants must in fact be initialised in 'main' and that this was a limitation of the language. Is this really the case? It seems unlikely.</p>