3
此接縫是MSVC10中的一個錯誤?enable_if類模板的成員模板函數
#include <type_traits>
template<int j>
struct A{
template<int i>
typename std::enable_if<i==j>::type
t(){}
};
int main(){
A<1>().t<1>(); //error C2770
}
錯誤C2770:無效明確template_or_generic參數(一個或多個) 「enable_if ::類型A ::噸(無效)」。
下編譯:
#include <type_traits>
template<class j>
struct A{
template<class i>
typename std::enable_if<std::is_same<i,j>::value>::type
t(){}
};
template<unsigned int j>
struct B{
template<unsigned int i>
typename std::enable_if<i==j>::type
t(){}
};
int main(){
A<int>().t<int>();
B<1>().t<1>();
}
在g ++和鏗鏘++的作品。你有#include`和`使用std :: enable_if`嗎? –
kennytm
2011-12-16 17:57:26