以下是代码:
template <class Integral>
using enable_if_integral_t = typename std::enable_if<std::is_integral<Integral>::value>::type;
template <class Integral, class Enable = void>
class DigitsNumber;
template <class Integral>
class DigitsNumber<Integral, enable_if_integral_t<Integral>>{
};
在MSVC 2013中会产生错误:
错误 C3203: 'enable_if_integral_t':未特化的别名模板不能用作模板参数'Enable',需要一个真实类型
但在gcc中可以编译通过。
这段代码符合C++11标准吗?是Visual Studio的bug/未实现的功能还是不符合标准,但是gcc扩展支持它呢?
有没有办法让它在VS中工作?
谢谢。