текст
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 старым поплавком.