指针为重载解析提出了一些特殊问题。
比如说,
void f(int* x) { ... }
void f(char* x) { ...}
int main()
{
f(0);
}
调用f(0)有什么问题?如何修复f(0)的函数调用?
答案 0 :(得分:6)
f((int*) 0)
或f((char *) 0)
但如果你发现自己这样做,我会再看一下你的设计。
答案 1 :(得分:0)
施放它,或根本不使用它:
f((int*)0);
答案 2 :(得分:0)
调用f(0)有什么问题,分辨率是模糊的。两个重载函数都使用指针,在这种情况下只能通过强制转换来解析。
f((int*)0)
根据您在此处尝试做的事情,还有其他选项不含糊不清。