#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,不用,,设置默认值 }
时间: 2024-10-06 08:16:03