我正在尝试使用" C"来编译我的代码。我的IDE中的编译器。但是不知道这几行是什么问题。
错误:syntax error near '='
错误:'_print': different length of parameter lists
和'_print':too many actual parameters
但是相同的代码与" C ++"完全相同。编译器。我刚刚得到错误" C"编译器。
任何人都可以给我任何想法吗?
答案 0 :(得分:0)
C没有函数重载,也没有C ++那样的默认参数,所以如果你需要以不同的方式处理int
和long
,你需要每个类型一个函数,如下所示:
void print_int(int n, int base);
void print_long(long n, int base);
但是在您的代码中,由于您只是在long
函数中调用int
版本,因此您只能拥有一个函数:
void print(long n, int base);
如果在int
上调用它,则参数会自动提升为long
。
int n = 123;
print(n, 10);