我有一个模板化类,我希望根据模板参数启用不同的构造函数。具体来说,我想使用std::is_compound作为标准。required from here bla.cpp:11:2: error:
问题似乎是使用了构造函数的第一个版本,但由于不存在double::value_type而失败。问题是,构造函数一开始不应该在Foo<double>中,因为std::is_
,用于public的is_class<T>::value定义使用用于类模板is_class实例化的参数T实例化嵌套的静态模板函数test。如果上述解释是正确的,我有以下问题:
如何解释嵌套静态模板函数test的重载版本?SFINAE是如何使用上述重载来填充给定value的模板类is_class<T>的公共布尔变量sizeof(test<T>(0)) == si