【问题标题】:Initializing a GLfloat初始化 GLfloat
【发布时间】:2011-01-10 23:56:53
【问题描述】:

为什么我不能这样做?

#include <gl/gl.h>

GLfloat posX;

 posX=0.0f;

Visual Studio 说:

错误 C4430:缺少类型说明符 - int 假定。注意:C++ 没有 支持默认整数

【问题讨论】:

  • 你的源文件中有#included &lt;gl/gl.h&gt; 或类似的吗?
  • 代码用 g++ 编译得很好。我认为posX=0.0f 线上缺少的分号不是问题?
  • 您确定您正在查看正确的线路吗?当您创建没有返回类型的函数时会出现该错误。
  • 在 Visual Studio 中,您必须包含 glut 并让编译器知道 glut 在哪里,因为 glut 是一个外部库,然后是 #include &lt;GL/glut.h&gt;。我记得我就是这样做的。
  • @PigBen。不必要。当声明(如函数返回或变量)未指定已知类型时,会发生错误。请参阅msdn.microsoft.com/en-us/library/ms173696%28v=vs.80%29.aspx 我在这里假设编译器不知道 GLfloat 是什么,因为没有包含正确的头文件。

标签: c++ visual-studio-2008 opengl


【解决方案1】:

正文

 posX=0.0f;

在全局范围内,因此被视为声明,而不是声明。考虑:

#include "stdafx.h"
#include <windows.h>
#include <gl/gl.h>

GLfloat posY = 0.0f;

GLfloat posX;
posX = 0.0f;

GLfloat posZ;

int _tmain(int argc, _TCHAR* argv[])
{
    posZ = 0.0f;
    return 0;
}

然后 posY,posZ 编译正常,但 posX 显示问题。请注意,该问题与 GL 无关;如果你用普通的旧浮点数替换 GLfloat,你会得到它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-29
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多