Getting error about redefinition even with guard
<p>I have a basic file I'm attempting to use.</p>

<pre><code>#ifndef POINT_GUARD
#define POINT_GUARD

//------------------------------------------------------------------------------

struct Point {
    int x, y;
    Point(int xx, int yy) : x(xx), y(yy) { }
    Point() :x(0), y(0) { }
};

//------------------------------------------------------------------------------

inline bool operator==(Point a, Point b) { return a.x==b.x &amp;&amp; a.y==b.y; } 

//------------------------------------------------------------------------------

inline bool operator!=(Point a, Point b) { return !(a==b); }

//------------------------------------------------------------------------------

#endif // POINT_GUARD
</code></pre>

<p>Notice that it's wrapped in a guard. Now this is imported into two different files. I'm getting an error, though. </p>

<p>It complains as soon as it hits <code>struct Point</code> that it's a "Redefinition of Point". Any ideas what could be happening here?</p>
