我们考虑以下代码:
template <typename T>
class Foo
{};
template <typename T, typename U>
class Foo<T(*)(U* const)>
{};
template <typename T, typename U>
class Foo<T(*)(U*)>
{};
Run Code Online (Sandbox Code Playgroud)
当我尝试编译它(ideone)时,它无法告诉我两个模板特化是相同的.这通常是令人惊讶的,U*并且U* const是不同的东西(第二个是const指针).这有什么不对?