(iPhone)只是试图宣布并设置一个愚蠢的变量。这是代码:
const GLfloat zNear = 0.01, zFar = 1000.0, fieldOfView = 60.0;
GLfloat size;
size = zNear * tanf(DEGREES_TO_RADIANS*fieldOfView / 2.0));
给我错误“'尺寸'的冲突类型”。
如果我这样写它:
const GLfloat zNear = 0.01, zFar = 1000.0, fieldOfView = 60.0;
GLfloat size = zNear * tanf(DEGREES_TO_RADIANS*fieldOfView / 2.0));
我收到错误,“初始化元素不是常数”。
真正奇怪的是,这个代码在方法内部工作正常。我把它移出了方法,现在它失败了。这是怎么回事?
答案 0 :(得分:1)
在 global-scope 处理时,语句只能分配给常量文字。
// At global scope
int a = 10 ; // fine
int b = a ; // Not allowed
b = a ; // Not allowed
b = 100 ; // fine
const int aa = 10 ; // fine
const int bb ;
bb = aa ; // Not allowed
解决方案是#define
。试试这个 -
#define zNear 0.01
#define zFar 1000.0
#define fieldOfView 60.0
GLfloat size;
size = zNear * tanf(DEGREES_TO_RADIANS*fieldOfView / 2.0));
答案 1 :(得分:0)
我猜你可以在实现声明之前使用类似
#define kPosun 44.0的内容。