我需要创建一个函数,其中有一个默认参数:
void func ( int a, int b = 1 );
// and
func (1, 2);
func (1);
答案 0 :(得分:5)
答案 1 :(得分:5)
C不支持默认参数,尽管你有时可以使用预处理器来破解类似的东西:
void func(int a, int b);
#define TWO_ARGS(A, B, ...) A, B
#define func(...) func(TWO_ARGS(__VA_ARGS__, 1))
func(1, 2); /* calls func(1, 2); */
func(1); /* calls func(1, 1); */