c++ - 无法解决 "unexpected end-of-file found"错误

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

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

  • 消息 - 错误 C1004:发现意外的文件结尾
  • 文件- block.cpp
  • - 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 数学库。它包含有用的 vector 和矩阵类以及用于计算两点之间距离等内容的函数。
  • 当我使用 e2d::color 时,它会创建一个内部包含 RGBA 颜色值的结构。它是我的引擎的一部分,它的默认构造函数将所有 RGBA 值设置为 255。

最佳答案

现在回过头来看,我发现了错误的原因。这是因为我包含了我的 agent.h 类并且从未对它做任何事情。糟糕!

关于c++ - 无法解决 "unexpected end-of-file found"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32938186/

相关文章:

c++ - 不使用STL函数写一个随机函数

c++ - 最佳可行的转换函数

OpenGL 纹理加载

python - 在片段着色器中访问 3D 数组

opengl - 是否可以在 uint32 格式纹理上累积片段编号?

c# - ASP.NET Web 应用程序和 AssemblyInfo.cs

c# - Crystal 报表显示空白页

c++ - 在 Windows 上跟踪移动到回收站的进度

c++ - Electron 应用程序从本地C代码创建的访问窗口

c++ - <filesystem> 在 VS2013 与 VS2012 中的不同行为