预期';'在声明清单的最后

时间:2013-06-08 12:58:45

标签: objective-c expectations

error:- expected ';' at the end of the declaration list
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
    float number;                   error:- expected ';' at the end of the declaration list
    float result;
    int currentoperation;
    __weak IBOutlet UILabel *label;
}

- (IBAction)canceloperation:(id)sender;
- (IBAction)cancelnumber:(id)sender;
- (IBAction)buttonoperation:(id)sender;
- (IBAction)buttonnumber:(id)sender;


@end

请修改此代码。

2 个答案:

答案 0 :(得分:20)

OP的问题很糟糕,但这里存在一个真正的问题。

当Xcode C Language Dialect设置为C99而不是GNU99时,会出现问题。 C99没有typeof()的声明,并假设它返回int。 然后,记录以下一堆令人困惑的错误消息:

warning: type specifier missing, defaults to 'int'
  __weak typeof(self) weakSelf = self;
  ~~~~~~ ^
'__weak' only applies to Objective-C object or block pointer types; type here is 'int'
  __weak typeof(self) weakSelf = self;
  ^
a parameter list without types is only allowed in a function definition
  __weak typeof(self) weakSelf = self;
                ^
expected ';' at end of declaration
  __weak typeof(self) weakSelf = self;
                     ^

要更改此设置:打开Project Navigator&gt;点击项目&gt;点击目标&gt;选择C语言方言&gt;点击退格键设置默认值。

enter image description here

答案 1 :(得分:-2)

这是许多“隐形人物”问题的重复。你的代码中有一个不可见的字符。

如果您有使用emacs或使用ctrl键的历史记录,您可以轻松点击ctrl-return并插入一个不可见的字符。

http://www.friday.com/bbum/2012/12/23/xcode-sometimes-a-return-is-not-a-return-emacs-brain-damage/