Expected Expression before … In Switch Statement
本问题已经有最佳答案,请猛点这里访问。
我在这段代码中收到一个编译错误:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | switch(event) { case kCFStreamEventHasBytesAvailable: UInt8 buf[BUFSIZE]; CFIndex bytesRead = CFReadStreamRead(stream, buf, BUFSIZE); if (bytesRead > 0) { handleBytes(buf, bytesRead); } break; case kCFStreamEventErrorOccurred: NSLog(@"A Read Stream Error Has Occurred!"); case kCFStreamEventEndEncountered: NSLog(@"A Read Stream Event End!"); default: break; } |
行
谢谢!
switch语句不引入新的作用域。此外,根据C语言规范,常规语句必须跟在case语句之后-不允许使用变量声明。您可以将
通常,当定义case语句中的变量时,会为case语句引入一个新的范围,如
1 2 3 4 5 6 7 | switch(event) { case kCFStreamEventHasBytesAvailable: { // do stuff here break; } case ... } |