why is including this header causing this error?
<p>This is a header and source for a class I have. There are similar other classes, all of which have to be included in one central class. </p>

<p>However, including the file <code>GameObject.h</code> in the header below causes an error:</p>

<pre><code>error C2582: 'operator =' function is unavailable in 'Node'
</code></pre>

<p>Although this error seems a little obscure, I have a slightly older working version of the code, and the only difference is that Node now inherits from GameObject.</p>

<p>Header:</p>

<pre><code>#ifndef NODE_H
#define NODE_H

#include &lt;d3d10.h&gt;
#include &lt;d3dx10.h&gt;
#include "GameObject.h"

class Mesh;

class Node : public GameObject
{
public: 
Node(Mesh&amp; mesh);
};

#endif
</code></pre>

<p>source:</p>

<pre><code>#include "Node.h"
#include "Mesh.h"

Node::Node(Mesh&amp; mesh) : GameObject(mesh)
{

}
</code></pre>

<p>In the call stack I am eventually pointed to a declaration of a vector of node objects as the cause, but I have no idea why this is happening as there are other objects that also inherit from gameObject that are also in vectors. </p>

<pre><code>std::vector&lt;Node&gt; nodes;
</code></pre>
