2011-01-10 39 views
2

为什么我不能这样做?初始化GLfloat

#include <gl/gl.h> 

GLfloat posX; 

posX=0.0f; 

Visual Studio中说:

错误C4430:缺少类型说明符 - INT承担。注意:C++不 支持默认int

+0

你有#included``或类似的源文件吗? – Anthony 2011-01-11 00:00:54

回答

14

文本

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,你会得到它。