【发布时间】:2011-07-25 19:01:01
【问题描述】:
我认为区别在于declaration 没有参数类型...
为什么会这样:
int fuc();
int fuc(int i) {
printf("%d", i);
return 0;
}
但是编译失败:
int fuc();
int fuc(float f) {
printf("%f", f);
return 0;
}
带有消息:
错误:“fuc”的类型冲突。注意:具有默认提升的参数类型不能匹配空参数名称列表声明
【问题讨论】:
-
第二个例子编译失败时编译器会告诉什么?
-
@xappymah,来自 gcc
error: conflicting types for ‘fuc’. note: an argument type that has a default promotion can’t match an empty parameter name list declaration
标签: c function-declaration function-prototypes