title: “Class type redefinition” error between header and source files (Different Case)
body: <p>I have seen this question: <a href="https://stackoverflow.com/questions/13484178/class-type-redefinition-error-between-header-and-source-files">&quot;Class type redefinition&quot; error between header and source files</a></p>
  
  <p>If you'll just say a <strong>duplicate</strong> of the above question, please check first the code below.</p>
  
  <p>The problem is that the "Class type redefinition" should not happened because I think I have done it properly.</p>
  
  <p>Here is the code.</p>
  
  <p><strong>TTSpeech.h</strong></p>
  
  <pre><code>#include &lt;wtypes.h&gt;
  #include &lt;string&gt;
  #include &lt;vector&gt;
  
  class TTSpeech
  {
    public:
      enum State
      {
          State_Loaded,
          State_Unloaded,
      };
  
      TTSpeech();
      virtual ~TTSpeech();
  
      virtual bool isAvailable() = 0;
  
      virtual bool load() = 0;
      virtual bool unload() = 0;
  
      virtual bool isLoaded() const = 0;
  
      virtual bool say(const std::string &amp;sentence) = 0;
  
      virtual bool setVolume(int volume) = 0;
      virtual bool setPitch(int pitch) = 0;
      virtual bool setRate(int rate) = 0;
  
      virtual bool setVoice(const std::string &amp;voice) = 0;
  
      virtual std::vector&lt;std::string&gt; getVoices() const = 0;
  };
  </code></pre>
  
  <p><strong>TTSpeech.cpp</strong></p>
  
  <pre><code>#include "TTSpeech.h"
  
  TTSpeech::TTSpeech()
  {
  //code
  }
  
  TTSpeech::~TTSpeech()
  {
  //code
  }
  </code></pre>
  
  <p>The only unusual thing that I have done is to remove the files from the solution, relocate the above file to a folder because of this issue: <a href="https://stackoverflow.com/questions/7789969/fatal-error-c1083-cannot-open-include-file-xyz-h-no-such-file-or-directory">cannot open include no such file or directory</a>. Then re-add the files to the solution. I'm using Visual Studio 2012 running of Windows 8</p>