#include <iostream>
#include<string>
using namespace std;
void fun(const string& msg="aaaa") {
cout <<" hello:"<<msg<<endl;
}
int main() {
fun("啊啊啊");
fun();
return 0;
}

- 如果函数的声明和定义是分开写的, 在函数声明中,书写默认参数,函数的定义中不能书写默认参数。
#include<string>
using namespace std;
void fun(const string& msg="aaaa");// 函数声明
int main() {
fun("啊啊啊");
fun();
return 0;
}
// 如果函数声明和定义分开,函数定义地方不能写默认参数
void fun(const string& msg) {
cout <<" hello:"<<msg<<endl;
}
-
函数必须从右向左设置默认参数,也就是说,如果某个参数设置默认参数,那么他右边的所有参数都必须要有默认参数。
-
调用函数的时候,如果指定了某个参数的值,那么该参数前面的所有的参数都必须指定。
void fun(int age, int height=170,const string& msg="aaaa");// 函数声明
int main() {
fun(22);
// fun(23, "mmmm");// error
return 0;
}
// 如果函数声明和定义分开,函数定义地方不能写默认参数
void fun(int age, int height, const string& msg) {
cout <<" hello:"<<msg<<" age:"<<age<<" height:"<<height<<endl;
}
网友评论