头文件中基于DirectX的结构体
DirectX based struct in header file
我对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文件中重新定义。
任何帮助将非常感激,谢谢大家!
显然我没有足够的声誉来评论,所以这里有一些想法/问题:
- 你有一个预编译头(如stdafx.h通常,或DXUT.h) ?如果是这样,也许把包含在那里将工作;
如果你包含resource.h无处不在:文件有和ifndef声明吗?如果不是,则错误可能来自对同一结构体的多次声明。也许可以试试这样写:
#ifndef _RESOURCE_H_ #define _RESOURCE_H_ // Includes you already had #include "xnamath.h" // Stuff you already had // Your vertex structure #endif
相关文章:
- 根据用户回答声明"Players"。用户选择玩家数量。播放器是结构体
- 结构体 S { int align; } 之间的区别;(struct 关键字后的名称)和 struct { int al
- C++ - 如何在结构向量中找到结构体一个成员的最大值?
- 包含 std::list 的结构体的 C++ 初始化
- 结构体和类的不同大小(),彼此具有相同的字段类型
- 如何使用结构体的向量数组?
- 如何使用结构体在C++中更改这些代码?
- 无法在 Mosquitto MQTT Broker 插件上访问结构体 mosquitto 的元素
- 我应该如何在C++中使用结构体解决输入失败的问题?
- Qsort() 比较结构体整数的总和
- 如何使用迭代器指向结构体c++的向量
- 在C++中使用链表的堆栈实现中,访问结构体headNode成员count和top会导致运行时错误
- 如何获取结构体成员的地址
- 创建结构体向量,表达式:向量下标超出范围
- boost::任何带有结构体和无符号整数
- 如何在构造函数中初始化结构体的动态数组?
- 只写结构体的某些字段
- C++ push_back() 一个结构体到一个向量中
- C++14 结构体上的统一初始化
- 头文件中基于DirectX的结构体