title: Error: "Variable Vector3"" is not a type name
body: <p>I have a class called <code>Vector3</code> in a header file called <code>Vector.h</code>. Everything is fine until I include this file in another header file. IntelliSense then marks every function that uses <code>Vector3</code> (as a parameter or return value) as an error: <code>Error: "Variable Vector3"" is not a type name</code>. I can't explain why this happens at all. I created a new test project and included <code>Vector.h</code> again, but in this new project everything compiles fine. Here's the code of the file:</p>
  
  <pre><code>#ifndef VECTOR_H_
  #define VECTOR_H_
  
  #include &lt;math.h&gt;
  
  class Vector3
  {
  public:
      double x, y, z;
  
      Vector3();
      Vector3(double x, double y, double z);
  
      void normalize();
  };
  
  Vector3 normalize(Vector3 v);
  Vector3 cross(Vector3 a, Vector3 b);
  Vector3 min(Vector3 a, Vector3 b);
  Vector3 max(Vector3 a, Vector3 b);
  
  #endif
  </code></pre>
  
  <h1>Update:</h1>
  
  <p>I realised that there only is an Error if I include windows.h before Vector.h. If I dont include windows.h or if I include it after vector.h I dont get any error.</p>