码迷,mamicode.com
首页 > 其他好文 > 详细

设置参数默认值的几种错误示例

时间:2017-08-18 17:08:29      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:class   ios   log   span   ring   函数   错误   str   不能   

#include <iostream>
#include <string>
using namespace std;

#if 1   //ok
int add(int num1,int num2,int num3 = 0,int num4 = 0)
{
    cout << "int add(int num1,int num2,int num3 = 0,int num4 = 0)" << endl;
    return num1 + num2 + num3 + num4;
}
#endif


#if 0
int add(int num1,int num2,int num3 = 0,int num4)    //error,定义时,遵守从右往左设定参数默认值:如果右边的变量没有设置默认值,则左边的也不能设置参数默认值
{
    cout << "int add(int num1,int num2,int num3 = 0,int num4 = 0)" << endl;
    return num1 + num2 + num3 + num4;
}
#endif

#if 0
int add(int num1,int num2 = 0,int num3,int num4 = 0)    //定义时,遵守从右往左设定参数默认值:如果右边的变量没有设置默认值,则左边的也不能设置参数默认值
{
    cout << "int add(int num1,int num2,int num3 = 0,int num4 = 0)" << endl;
    return num1 + num2 + num3 + num4;
}
#endif

int main()
{
    int res = add(10,20);
    cout << res << endl;

//    res = add(10,20,,40); // error
    cout << res << endl;    //调用有默认的函数时也要遵守从右向左的规则:右边没有使用默认值,则左边也不能设置默认值}

//    res = add(10,20,,);   //error,不用,,设置默认值
}

 

设置参数默认值的几种错误示例

标签:class   ios   log   span   ring   函数   错误   str   不能   

原文地址:http://www.cnblogs.com/linuxAndMcu/p/7390345.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!