题
指针存在一些特殊的问题为过载的分辨率。
说,例如,
void f(int* x) { ... }
void f(char* x) { ...}
int main()
{
f(0);
}
什么错调用F(0)?如何解决该函数调用对于f(0)?
解决方案
f((int*) 0)
或f((char *) 0)
但是,如果你发现自己做这个,我会再看看你的设计。
其他提示
铸造,或者根本不使用它:
f((int*)0);
什么错调用F(0)是分辨率是不明确的。您的两个重载函数采取一个指针,它在这种情况下,只能通过铸造来解决。
f((int*)0)
根据你想在这里做的有一些不模糊的其他选择是什么。
不隶属于 StackOverflow