void f(bool i){
std::cout << "f(bool)" << std::endl;
}
void f(void* p){
std::cout << "f(void*)" << std::endl;
}
.....
f(NULL);
打印什么?
void f(int i){
std::cout << "f(int)" << std::endl;
}
void f(bool i){
std::cout << "f(bool)" << std::endl;
}
void f(void* p){
std::cout << "f(void*)" << std::endl;
}
......
f(NULL);
打印什么?
第一个编译错误。
第二个打印f(int)。
void f(int i){
std::cout << "f(int)" << std::endl;
}
void f(bool i){
std::cout << "f(bool)" << std::endl;
}
void f(void* p){
std::cout << "f(void*)" << std::endl;
}
.....
f(nullptr);
打印f(void*)。
nullptr可以认为是指针类型,而NULL和0不是。