title: expected ')' before object. class does not name a type
body: <p>I don't know what is going on. I included file guards in header files but still get the error.</p>
  
  <p>these are my classes:</p>
  
  <p>Car.h</p>
  
  <pre><code>    #ifndef CAR_H
      #define CAR_H
  
      #include "Color.h"
  
      class Car
      {
          public:
              Car(Color a);
              void printInfo();
          private:
              Color carColor;
      };
      #endif
  </code></pre>
  
  <p>Car.cpp</p>
  
  <pre><code>    #include "Car.h"
      #include &lt;iostream&gt;
  
      using namespace std;
      Car::Car(Color a)
      : carColor(a)
      {
      }
  
      void Car::printInfo() {
          cout &lt;&lt; "the car is ";
          carColor.printColor();
      }
  </code></pre>
  
  <p>Color.h</p>
  
  <pre><code>#ifndef COLOR
  #define COLOR
  
  #include "Car.h"
  #include &lt;iostream&gt;
  
  
  using namespace std;
  
  class Color
  {
      public:
          Color(string c);
          void printColor();
  
  
      private:
          string colorr;
  };
  #endif // COLOR
  </code></pre>
  
  <p>Color.cpp</p>
  
  <pre><code>#include "Color.h"
  Color::Color(string c)
  : colorr(c)
  {
  }
  
  void Color::printColor() {
      cout &lt;&lt; colorr;
  }
  </code></pre>
  
  <p><strong>Edit:</strong>
  guys I didn't insult to anybody. imagine you wrote lots of words and stackoverflow gives you error about question and you edit but still the same and again edit and ... this happens again and again. what should I write more ?? the question is simple and short even don't need to explain it. </p>