错误:缺少@end 错误:预期标识符或

Posted

技术标签:

【中文标题】错误:缺少@end 错误:预期标识符或【英文标题】:error: missing @end error: expected identifier or 【发布时间】:2012-11-21 20:52:47 【问题描述】:

我知道有类似的问题,但我仍然无法解决。

   error: missing @end [1]
    error: expected identifier or '(' [1]
    error: expected a type [1]

(在头文件中获取)

我用新的同名空文件替换了这个文件 - 仍然出现这个错误?

#import "Storage.h"

@implementation Storage

@end


#import <Foundation/Foundation.h>

@interface Storage : NSObject


@end

【问题讨论】:

向我们展示您提到的头文件(以及其他代码,如果需要) 【参考方案1】:

PREVIOUS 头文件可能不完整。类接口中缺少 @end。见https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocDefiningClasses.html#//apple_ref/doc/uid/TP30001163-CH12-SW1

【讨论】:

你是对的,我在其他类中缺少@tag,但 f-g xcode 调试器将其指向不同的类。 它在第一次遇到意外输入的地方报告错误。在这种情况下,它恰好在下一个标题中。最好将“缺少@end”解释为“哎呀,我真的认为我应该在此之前看到一个@end。”【参考方案2】:

您是在导入 .m 文件而不是 .h 吗?

像这样,显然是错误的,但自动补全很容易发生

#import "myHeader.m"

【讨论】:

这不是答案,而是猜测。将此作为对问题的评论。

以上是关于错误:缺少@end 错误:预期标识符或的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio报错/plugin.vs.js,行:1074,错误:缺少标识符字符串或数字

预期的标识符或“”和预期的非限定 ID

Visual Studio 2017启动时 plugin.vs.js 报错:缺少标识符字符串或数字

语法错误:缺少 ';'在标识符“iDlg”之前

错误 C2146:语法错误:缺少“;”在标识符“ContextRecord”之前

vs2008编译错误:error C2146: 语法错误 : 缺少“;”(在标识符“name”的前面)