c++-带默认形参值的函数
2014-04-13 10:35
477 查看
注意三点:
(1)如果函数的定义在函数调用之前, 则在函数定义时给出默认值,如果函数的定义在函数调用之后则应该在声明中给出默认值
(2)一个函数不能即作为重载函数,又作为有默认参数的函数,以为容易出现二义性(说法不严格,其实只要不产生二义性即可)
(3)带默认值的参数都位于参数列表的最右端
(1)如果函数的定义在函数调用之前, 则在函数定义时给出默认值,如果函数的定义在函数调用之后则应该在声明中给出默认值
(2)一个函数不能即作为重载函数,又作为有默认参数的函数,以为容易出现二义性(说法不严格,其实只要不产生二义性即可)
(3)带默认值的参数都位于参数列表的最右端
#include <iostream> using namespace std; int fun(int a, int b=5) { return a+b; } int fun1(int a, int b, int c=5); int fun2(int a, int b, int c, int d); //int fun3(int a=1, int b, int c=2); //error 有默认值的右方不能有非默认值的变量存在 int main() { cout<<fun(3)<<endl; cout<<fun1(1,2)<<endl; //cout<<fun2(1,2,3)<<endl; //error,如果有默认值一定要在声明中指出,否则,即使在定义指出也不生效 return 0; } //int fun1(int a, int b, int c=6) //error, 编译错误,声明中给出,定义时不能再重新赋默认值//有的编译器可以通过 //{ // return a+b+c; //} int fun1(int a, int b, int c) { return a+b+c; } int fun2(int a, int b, int c, int d=8) { return a+b+c+d; }
相关文章推荐
- C++之内联函数inline、带默认形参值的函数
- C++函数默认形参
- 跟我一起学C++之带默认形参值的函数的二义性
- C++引用调用、内联函数、带默认形参值的函数
- c++ 带默认形参值的函数
- C++ 带默认形参值的函数
- c++之带默认形参值的函数
- C++内联函数和带默认形参值的函数
- C++ 带默认形参值的函数
- C++带默认形参值的函数
- c++之带默认形参值的函数
- 跟我一起学C++之带默认形参值的函数
- C++空类,编译器默认产生的成员函数
- C++中const修饰函数形参,函数,函数返回值
- C++中的空类,默认产生哪些类成员函数? 转
- C++默认编写并调用的函数
- 【C++缺省函数】 空类默认产生的6个类成员函数
- [C++] 将成员函数作为函数形参
- C++中的空类,默认产生哪些类成员函数?
- C++中的默认成员函数