有效功能声明

时间:2016-07-16 15:54:33

标签: c++ methods declaration

我有一个抽象的C ++问题,而且我正在与某人讨论这个问题:

其中哪一个可能是有效的函数声明:

int f ( int i=0, int j );
int f (int j, void k);
int f (int i, int u=0 );
int f (int * = 0);

1 个答案:

答案 0 :(得分:8)

其中三个可以有效。第三和第四显然是可以的。第一个可以在更广泛的背景下有效:

int f(int i, int j = 0);
int f(int i = 0, int j);

允许函数声明添加其他默认参数,但不允许重复以前的默认值。所以第二行(你的第一个例子)在这里没问题。