我对c ++比较陌生,我正在尝试创建一个可从多个c ++文件访问的结构。为此,我将其写入头文件中。但是,结构需要来自DirectX库的标识符,即" xnamath.h"。
我的结构如下
struct Vertex
{
Vertex(){}
Vertex(float x, float y, float z,
float u, float v)
: pos(x,y,z), texCoord(u,v){}
XMFLOAT3 pos;
XMFLOAT2 texCoord;
};
我已尝试在我的resource.h头文件中包含xnamath头文件,但这导致了比当前问题更多的错误。结构是所有文件都需要的,因此,据我所知,不能在每个.cpp文件中重新定义。
非常感谢任何帮助,谢谢大家!
答案 0 :(得分:0)
显然我没有足够的声誉来评论,所以这里有一些想法/问题:
如果在所有地方都包含resource.h:文件是否包含ifndef声明?如果没有,也许错误来自同一结构的多个声明。也许尝试类似的事情:
#ifndef _RESOURCE_H_
#define _RESOURCE_H_
// Includes you already had
#include "xnamath.h"
// Stuff you already had
// Your vertex structure
#endif
希望这有帮助。