1:重载会出问题
void func(int ptr);
void func(void *ptr);
func(NULL) =>哪一个?
2:模板推断问题
C++禁用了void*隐式转换向其他类型指针,所以NULL的宏实际上就是0,这样会导致在C++11提出的完美转发语义下,0被模板推断成int而不是其它的什么指针。
1:重载会出问题
void func(int ptr);
void func(void *ptr);
func(NULL) =>哪一个?
2:模板推断问题
C++禁用了void*隐式转换向其他类型指针,所以NULL的宏实际上就是0,这样会导致在C++11提出的完美转发语义下,0被模板推断成int而不是其它的什么指针。