cub*_*l42 14 c++ overloading compiler-errors function c++11
#include <tuple>
template<int I>
struct A {};
template<int I, typename... T>
void f(A<I>, std::tuple<T *...>) {}
template<typename... T>
void f(A<0>, std::tuple<T *...>) {}
int main()
{
    f(A<0>{}, std::tuple<char*, int*, float*>{});
}
是不是f更专业的第二次超载?g ++ 4.9.2表示调用不明确,clang 3.6.0接受它.哪个编译器是对的?
有趣的是,如果你改变std::tuple<T *...>对std::tuple<T...>,G ++是与它的罚款,我不明白.
| 归档时间: | 
 | 
| 查看次数: | 149 次 | 
| 最近记录: |