无法解决"发现意外的文件结尾"错误

时间:2015-10-04 20:42:27

标签: c++ opengl visual-studio-2012 compiler-errors

我正在使用Visual C ++ 2012在我的简单OpenGL游戏中为块创建一个类,并且遇到了一个奇怪的错误。这是完整的错误:

  • 消息 - 错误C1004:发现意外的文件结尾
  • 文件 - block.cpp
  • Line - 27
  • 专栏 - 1

以下是代码:

block.h

#pragma once
#include "agent.h"
#include <Engine2D/spritebatch.h>

class Block {
public:
    Block(glm::vec2 dim, glm::vec4 uv, glm::vec2 pos, GLuint texture);
    // Draws the block to the sprite batch
    void draw(e2d::SpriteBatch& spriteBatch);
    // Returns the position
    glm::vec2 getPosition();
    // Returns the size
    glm::vec2 getSize();
private:
    glm::vec2 _dim;
    glm::vec4 _uv;
    glm::vec2 _pos;
    GLuint _texture;
};

block.cpp

#include "block.h"

Block::Block(glm::vec2 dim, glm::vec4 uv, glm::vec2 pos, GLuint texture) :
    _dim(dim),
    _uv(uv),
    _pos(pos),
    _texture(texture)
{}

void Block::draw(e2d::SpriteBatch& spriteBatch) {

    spriteBatch.draw(glm::vec4(_pos.x, _pos.y, _dim.x, _dim.y), _uv, e2d::color(), 0.0f, _texture);

}

glm::vec2 Block::getPosition() {

    return _pos;

}

glm::vec2 Block::getSize() {

    return _dim;

}
 // ERROR LINE

如果您发现问题或可以详细说明原因,我们将不胜感激。谢谢!

注意:

  • Engine2D / spritebatch.h是我创建的引擎的一部分。它只是将对象绘制并渲染到屏幕上。这个课程与此问题无关。
  • glm名称空间用于OpenGL数学库。它包含有用的向量和矩阵类以及计算两点之间距离等函数的函数。
  • 当我使用e2d :: color时,它正在创建一个内部带有RGBA颜色值的结构体。它是我的引擎的一部分,默认构造函数将所有RGBA值设置为255。

1 个答案:

答案 0 :(得分:1)

现在我已经回顾了它,我发现了错误的原因。这是因为我包含了我的agent.h类,从未对它做任何事情。糟糕!