0

我得到这个编译错误:'转变': '类' 的OpenGL 3D类型重新定义

Error: 'Transform': 'class' OpenGL 3D type redefinition on line 5

这里是我的Transform.h:

#include <glm/glm.hpp> 
#include <glm/gtx/transform.hpp> 

class Transform 
{ 
public: 
    Transform(const glm::vec3& pos = glm::vec3(), const glm::vec3& rot = glm::vec3(), const glm::vec3& scale = glm::vec3(1.0f, 1.0f, 1.0f)) : 

    Pos(pos), 
    Rot(rot), 
    Scale(scale) {} 

    inline glm::mat4 GetModel() const 
    { 
     glm::mat4 posMatrix = glm::translate(Pos); 
     glm::mat4 rotXMatrix = glm::rotate(Rot.x, glm::vec3(1,0,0)); 
     glm::mat4 rotYMatrix = glm::rotate(Rot.y, glm::vec3(0,1,0)); 
     glm::mat4 rotZMatrix = glm::rotate(Rot.z, glm::vec3(1,0,0)); 
     glm::mat4 scaleMatrix = glm::scale(Scale); 

     glm::mat4 rotMatrix = rotZMatrix * rotYMatrix * rotXMatrix; 

     return posMatrix * rotMatrix * scaleMatrix; 
    } 

    inline glm::vec3& GetPos() { return Pos; } 
    inline glm::vec3& GetRot() { return Rot; } 
    inline glm::vec3& GetScale() { return Scale; } 

    inline void SetPos(glm::vec3& pos) { Pos = pos; } 
    inline void SetRot(glm::vec3& rot) { Rot = rot; } 
    inline void SetScale(glm::vec3& scale) { Scale = scale; } 
protected: 
private: 
    glm::vec3 Pos; 
    glm::vec3 Rot; 
    glm::vec3 Scale; 
}; 

我下面从thebennybox本系列教程:

https://www.youtube.com/watch?v=Xe7FmplKAF0&t=419s

我使用Visual Studio 2015年社区与C++和OpenGL。

什么原因导致该错误,我该如何解决?

+2

也许不相关,但你有你的标题包括守卫?如果没有检查这个链接:http://www.cplusplus.com/forum/general/71787/ –

+0

@FallaCoulibaly谢谢,这解决了这个问题,如果你把你的评论变成答案我可以把它标记为答案 – DogWalkersCoding

+0

删除标签不是针对这个问题的,而是添加了更相关的,重新编写了一些部分 –

回答