void f(int x, char y = ‘a’),这个有缺省值参数,所以实际的调用,可能和void f(int)一样。所以不能定义在同一程序块。第二个是因为缺省值参数必须,未定义缺省值参数的变量后。要不然你怎么知道我给的值是哪一个?比如B. int Fun(int x=1,int y,int z=3); 你说应该怎么调用呢?这个问题你可能还没搞清有缺省值参数的参数也是可以有参数的。比如void f(int x, char y = ‘a’),可以直接用 f(x)这样的方式调用。也可以f(x,x)的方式调用,搞清这个问题应该这个就没问题的。
2,可以重载,只要函数参数不同就可以重载
5,答案是A是因为缺省值只能在最后几个参数出现,就是说,如果某一个参数可以有缺省值了,那么后面的参数必须都要可以有缺省值。