これは私が持っているクラスのヘッダとソースです。同じような他のクラスがあります。これらのクラスはすべて、1つのセントラルクラスに含める必要があります。このエラーは少しあいまいなようだが、私はコードの少し古い作業バージョンを持っており、唯一の違いは、ということですこのヘッダーにこのエラーの原因が含まれているのはなぜですか?
error C2582: 'operator =' function is unavailable in 'Node'
:以下、ヘッダー内のファイルGameObject.h
含めしかし
は、エラーが発生しますノードはGameObjectから継承するようになりました。
ヘッダー:
#ifndef NODE_H
#define NODE_H
#include <d3d10.h>
#include <d3dx10.h>
#include "GameObject.h"
class Mesh;
class Node : public GameObject
{
public:
Node(Mesh& mesh);
};
#endif
ソース:コールスタックで
#include "Node.h"
#include "Mesh.h"
Node::Node(Mesh& mesh) : GameObject(mesh)
{
}
私は最終的には、原因としてノードオブジェクトのベクトルの宣言を指摘していますが、私は、なぜこの見当がつかないgameObjectから継承し、ベクターにも存在する他のオブジェクトが存在するため、起こっています。
std::vector<Node> nodes;
なぜ 'GameObject.h'は' Node.h'を含めるようにする必要がありますか?コードを表示してください。 –
なぜ「gameobject.h」に「node.h」を含めていますか? – Naveen
私はそれをどこでやっていると言いましたか?私は質問を読んで、それを見ることができません。私の部分の文法は間違っていますか? – SirYakalot