当前位置:  开发笔记 > 编程语言 > 正文

C++模板部分特化由指针函数/ const指针函数没有不同?

如何解决《C++模板部分特化由指针函数/const指针函数没有不同?》经验,为你挑选了1个好方法。

我们考虑以下代码:

template 
class Foo
{};

template 
class Foo
{};

template 
class Foo
{};

当我尝试编译它(ideone)时,它无法告诉我两个模板特化是相同的.这通常是令人惊讶的,U*并且U* const是不同的东西(第二个是const指针).这有什么不对?



1> 小智..:

在确定函数的类型(通俗地称为其签名)时,将删除顶级cv限定符.

§8.3.5/ 5 ...使用以下规则确定函数的类型....生成参数类型列表后,在形成函数类型时,将删除修改参数类型的任何顶级cv限定符....

对于无效的函数指针或模板参数没有特殊规则.

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有