C++代码中elif隐式声明及行5{前分号错误原因咨询
错误原因及修复方案
核心问题
C里不存在elif关键字,编译器会把它误认为是一个未声明的函数,所以触发“隐式声明”错误。你要实现的多分支逻辑,C标准语法是用else if(两个关键字分开写)。
另外代码开头的#import是Objective-C的语法,C++应该使用#include来导入头文件。
修复后的代码
#include <stdio.h> int main (int argc, char *argv[]) { for (int i = 0; i < argc; i++) { if (i == 1) { printf( "%s %s", "First parameter is ", argv[i]); } else if (i == 2) { printf("%s %s", "Second parameter is ", argv[i]); } } return 0; }
说明
- 替换
#import为#include,符合C++的头文件导入规范。 - 把
elif改成else if,让编译器正确识别多分支条件判断逻辑,彻底解决隐式声明的错误。
内容的提问来源于stack exchange,提问作者yumyum
相关产品推荐
相关产品推荐

