所以这是不允许的
void foo (int a, int b = 10, int c);
但为什么呢?为什么不允许像这样打电话呢?两个连续的彗差表示“使用默认参数”。
foo (20,,30);
除了“这是不允许的,因为这是不允许的”之外还有任何真正的理由吗?“这是不允许的,因为没有人把它交给委员会”?
编辑: 好的,这个怎么样?
void bar (int a, int b, int c = 1,
int d = 2, int e = 3,
int f = 4, int g = 5, int h = 6);
有效声明,但我想跳过除h
之外的所有默认参数。
能够做到这一点不是很好:
bar (20, 30, , , , , , 10);
答案 0 :(得分:6)
我不知道设计这种语言的人,但我发现f (20,,30);
非常难以理解。