3

可能重复

所以这是不允许的

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);
4

1 回答 1

6

我不了解设计该语言的人,但我发现f (20,,30);非常难以理解。

于 2013-03-06T10:54:32.400 回答