隐式转换
class foo(){
public:
foo(int a){
cout<<a<<endl;
}
};
void fun(foo X){
cout<<"ok"<<endl;
}
int main(){
fun(24); //这样不会出错,会将int型隐式转换为foo型
}
禁止隐式转换
class foo(){
public:
explicit foo(int a){
cout<<a<<endl;
}
};
void fun(foo X){
cout<<"ok"<<endl;
}
int main(){
fun(24); //这样会出错,不会将int型隐式转换为foo型
}