title: C++ unknown override specifier when using strings
body: <p>I've trying to solve this problem for a long time now:</p>
  
  <p>I have the following class (Doctor):</p>
  
  <p>Doctor.h: </p>
  
  <pre><code>    #pragma once
      class Doctor
      {
      private:
           string firstName;
      public:
          Doctor();
          ~Doctor();
      };
  </code></pre>
  
  <p>Doctor.cpp:</p>
  
  <pre><code>    #include "stdafx.h"
      #include "string"
      #include "Doctor.h"
  
      using namespace std;
  
      Doctor::Doctor()
      {
      }
  
  
      Doctor::~Doctor()
      {
      }
  </code></pre>
  
  <p>and my main function:</p>
  
  <pre><code>   #include "stdafx.h"
     #include &lt;string&gt;
     #include "Doctor.h"
  
     using namespace std;
  
     int main()
     {
         return 0;
     }
  </code></pre>
  
  <p>Error   C3646   'firstName': unknown override specifier</p>
  
  <p>Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int    </p>
  
  <p>Error   C3646   'firstName': unknown override specifier     </p>
  
  <p>Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int</p>
  
  <p>all at line 5 of Doctor.h where I declare a string variable </p>