objective-c - 有多少种情况会导致 Objective-C 中的错误“Expected identifier or '('”?
问题描述
我是一个新学习者,我很困惑每个文件中都没有错误,而是在 main.m 中发生在函数“main”之前
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
解决方案
有多少种情况会导致Objective-C中出现“Expected identifier or '('”错误?</p>
很多。_
这通常表明您犯了语法错误,即您错过了输入的内容。一些例子:
- 您错过了结束
)
或}
- 错过 a
;
或输入 a,
而不是 a;
- 错过了闭幕式
"
- 等等等等
错误消息应该提供开始搜索的位置——由于编程语言语法和编译器的性质,简单的输入错误可能要到其实际位置之后的某个时间点才会被发现,因此您从报告行开始并向后工作。为我的 Xcode(以及当今大多数代码编辑器)提供的自动语法着色将有助于定位问题;并且始终使用适当的缩进也有助于视觉。
您还必须重新处理您拥有的任何文件#include
或#import
,尽管您应该能够跳过系统文件 - 如果系统包含报告错误,那么它通常在包含该文件之前在您的代码中。
如果您正在查看大量代码,则二进制搜索会有所帮助:如果您的注释主要是行注释// ...
,那么您可以使用块注释/* ... */
来临时包围您的代码块,以查看错误是否消失,如果确实如此它在注释掉的部分,如果不是,它是未注释的部分。如果您首先注释掉大约一半的代码以确定错误所在的一半,然后注释掉该块的一半,等等,您可以快速缩小已完成的位置。
键入时注意语法着色并始终在键入时缩进代码,您很快就会掌握发现语法错误。语义,即您键入的内容的含义或逻辑可能更具挑战性;正是这些领域的错误将人们带到 Stack Overflow - <em>语法错误通常需要你自己弄清楚,除了可能真的很粗糙的错误!
高温高压
推荐阅读
- python - pysftp 未连接到服务器。没有错误信息。蟒蛇3.7
- php - 在 PHP 字符串变量中使用 OUTPUT 子句时 SQL 输出值在哪里?
- python - MPI广播改变Python类实例的地址
- javascript - 当我在对象数组中键入时,如何查看字符是否存在于数组的每个实例中?
- rcpp - Rcpp:通过引用列出<->矩阵转换??+ 使用矩阵编程时优化内存分配
- python - 如何在关键字和日期之前和之后提取文本
- vue.js - 当道具在商店中更改时,子组件不会重新渲染
- gimp - 保留法线贴图“额外区域”
- html - 似乎无法摆脱社交媒体图标的要点
- python - 如何使文件中的每一行成为包含整个文件的列表的子列表?