我在处理一些代码时遇到问题,我需要通过多层函数传递指针。指针可以为空,因此对于 nullptr 的情况,我对最终函数进行了重载。概念我有这样的东西:
void test_ptr(std::nullptr_t)
{
std::cout << "nullptr" << std::endl;
}
void test_ptr(double *d)
{
std::cout << *d << std::endl;
}
void test(double *d)
{
test_ptr(d);
}
int main()
{
test(nullptr);
}
对我来说,理想的行为是,如果test
调用 的第一个版本test_ptr
,但事实并非如此。是否有机会进行操作test
以使其调用“正确”版本?