在VisualC++2017(使用/std:c++14或使用/std:c++17)中,以下代码有效:voidTakePtr(char*);//constornotintmain(){TakePtr(char{});TakePtr(char());}我不明白为什么会这样。显然,以下方法也可以(如预期的那样):voidTakeChar(char);TakeChar(char{});TakeChar(char());当char{}或char()用作参数?现在,如果我同时有char和char*重载,它可以正常工作而不会出现任何关于歧义的错误/警告:voidTakePtr(char*);void