For循环中的奇怪错误

时间:2013-08-09 17:19:10

标签: objective-c

你好那里的编码员。 在过去的几周里,我一直在学习GLKit。我找到了这个非常有用的系列教程,介绍如何设置here找到的基本2D图形引擎。

当我按照“Iteration 5”代码的第一块时,发生了一些奇怪的事情。 updateVertices方法中的for循环出现编译器错误。这些错误显示在这里。

Errors

这是完整的类代码。

//
//  Elipse.m
//  EmptyGLKit
//
//  Created by C-R on 8/6/13.
//  Copyright (c) 2013 C-R. All rights reserved.
//

#import "Ellipse.h"

#define ELLIPSE_RESOLUTION 64;
#define M_TAU (2*M_PI)

@implementation Ellipse

-(int)numVertices {
    return ELLIPSE_RESOLUTION;
}

-(void)updateVertices {
    for (int i = 0; i < ELLIPSE_RESOLUTION; i++) {
        float theta = ((float)i) / ELLIPSE_RESOLUTION * M_TAU;
        self.vertices[i] = GLKVector2Make(cos(theta)*radiusX, sin(theta)*radiusY);
    }

}

-(float)radiusX {
    return radiusX;
}

-(void)setRadiusX:(float)_radiusX {
    radiusX = _radiusX;
    [self updateVertices];
}

-(float)radiusY {
    return radiusY;
}

-(void)setRadiusY:(float)_radiusY {
    radiusY = _radiusY;
    [self updateVertices];
}

@end

我尝试关闭并重新打开项目,清理代码,重新启动Xcode,但都没有成功。

据我所知,for循环是完全可以接受的,并且已经在我的其他几个项目中。

1 个答案:

答案 0 :(得分:13)

您的#define行末尾有;。这是不正确的,应该删除。 #define基本上被替换为编译代码,因此最终结果是if语句中包含过多;个字符。