我刚刚在C中遇到了一个奇怪的函数声明语法,这在C ++中是无效的。它是这样的:
#include <stdio.h>
void my_func (foo)
int foo;
{
printf("my_func printf foo = %d\n", foo);
}
int main () {
my_func(1089);
return 0;
}
根据我的推断,似乎它是一个函数定义,所有参数都是&#39;类型默认为int
,如果我将int foo;
替换为float foo;
,我可以更改参数的类型。
但任何人都可以确认这只是发生了什么,为什么这个语法会退出?它是过去的遗物吗? 用g ++等编译时为什么它无效?
谢谢!