#include<iostream>
using namespace std;
namespace X{
template<typename T>
void f(T);
}
namespace N{
using namespace X;
enum E{e1};
void f(E){
std::cout << "N::f(N::E) called\n";
}
}
void f(int)
{
std::cout << "::f(int) called\n";
}
int main()
{
::f(N::e1);//受限函数名称:不会使用ADL
f(N::e1);//普通查找将找到f();ADl将找到N::f()
}
::f(int) called
N::f(N::E) called
ADL
原创xiangjie256 博主文章分类:boost模板元编程 ©著作权
©著作权归作者所有:来自51CTO博客作者xiangjie256的原创作品,请联系作者获取转载授权,否则将追究法律责任
ADL(argument-dependent lookup):依赖于参数的查找

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
c++ CPO ADL
(1)A CPO is a callable function object
编译器 函数参数 c++