C++ 规定,在给定的作用域中只能指定一次默认参数。
这说明编译器使用的是当前作用域中的默认参数。
不过有一点需要注意,在给定的作用域中一个形参只能被赋予一次默认参数
#includeusing namespace std; //多次声明同一个函数 void func(int a, int b, int c = 36); void func(int a, int b = 5, int c); int main(){ func(99); return 0; }
这种声明方式是正确的。第一次声明时为 c 指定了默认值,第二次声明时为 b 指定了默认值;第二次声明是添加默认参数。需要提醒的是,第二次声明时不能再次给 c 指定默认参数,否则就是重复声明同一个默认参数。
学习这个要注意作用域 权限



