This question already has answers here:
Why doesn't ADL find function templates?
(4个答案)
5年前关闭。
我想了解为什么以下模板
ADL要求函数调用中的后缀表达式为不合格ID。简单模板ID(
(4个答案)
5年前关闭。
我想了解为什么以下模板
f
的调用无法编译:struct A
{
template<class...>
friend void f(A) { }
} x;
int main()
{
f<>(x);
}
ADL要求函数调用中的后缀表达式为不合格ID。简单模板ID(
f<>
)是否不是不合格ID? 最佳答案
相关条款似乎是7.3.1.2 [namespace.memdef]第3段:
也就是说,查找此名称的唯一方法是通过ADL。但是,要应用模板参数,必须根据14.2 [temp.names]第2段找到该名称:
关于c++ - ADL未使用带有模板参数列表的后缀表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28006660/
10-12 17:28