有效的函数声明

Valid Function Declaration

本文关键字:声明 函数 有效      更新时间:2023-10-16

我有一个抽象的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);

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

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

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