【发布时间】:2014-05-12 07:45:12
【问题描述】:
由于历史原因,我有一个位于顶级命名空间中的类。我需要为它定义一个必须1 使用参数相关查找找到的函数。顶级命名空间是否被视为此类的关联命名空间,还是我必须采取一些解决方法?
1否则使用它的模板可能找不到它,因为在模板之后定义的符号只有在被 ADL 找到时才能看到。
【问题讨论】:
-
为什么需要在全局命名空间中对函数进行依赖参数的查找?
-
@ChrisDrew 我相信这在脚注中有解释。
-
@Angew:我明白了。为什么不能在模板之前声明函数有充分的理由吗?
-
@ChrisDrew 我会这么说,因为它需要以特定顺序包含头文件,而这是您在任何非平凡项目中必须避免的事情大小。
-
@ChrisDrew:它是独立类型,需要实现一个概念。试图规定包含顺序会导致一团糟。
标签: c++ c++03 argument-dependent-lookup