title: C++ default enum value usage
body: <p>This discussion is about a name of default value:
  <a href="https://stackoverflow.com/questions/3160376/c-should-the-default-value-of-an-enum-be-none-or-unknown">C#: Should the default value of an enum be None or Unknown?</a></p>
  
  <p>However, large amount of people I spoken with recently considered default enum values harmful, unnecessary and potentially leading to a bad practice. </p>
  
  <p>As an example consider the following:</p>
  
  <pre><code>enum eJobStates
  {
      JOB_STATE_INITIALISING,
      JOB_STATE_PROCESSING,
      JOB_STATE_DONE
  };
  </code></pre>
  
  <p>It would not make sense for a job to be in say, JOB_STATE_UNKNOWN, but you can imagine that any structure that might be used for monitoring of said jobs could use such value. </p>
  
  <p>Are there any best practices / rules of thumb concerning creating a default value when defining an enum? Should they be avoided at all cost whenever possible?</p>