前言
void f(int n=0)和void f()二者可以重载吗?可以,但不推荐,因为不恰当的调用会导致出错。
重载,和报错的情况
#include <iostream>
#include <string>
using namespace std;
void f(int n=0){
cout<<"f1"<<endl;
}
void f(){
cout<<"f2"<<endl;
return 0;
}
int main(){
f(2);//pass,输出结果f1
// f();//error,因为该语句不知道调用哪个函数,有歧义
return 0;
}
总结
void f(int n=0)和void f()二者可以重载,但不推荐,因为不恰当的调用会导致出错。