在C++中,我可以这样做:
void func(void *something) {
cout << "something" << endl;
}
void func(nullptr_t) {
cout << "nullptr_t" << endl;
}
int main() {
int nothing = 5;
func(¬hing);
func(nullptr);
return 0;
}
输出结果如下:
something
nullptr_t
因此我可以特别处理nullptr_t。
在D语言中,我有两个函数:
void func(void* pod) {
cout << "pod" << endl;
}
void func(Object obj) {
cout << "Object" << endl;
}
那么,当调用
func(null)
时,我该如何消除歧义呢?