我有一个模板类,我只想在类型为双精度时启用某个构造函数。这段代码有什么问题?
template<typename T>
class B: public A<T>
{
public:
B(int arg1=0, typename boost::enable_if_c<boost::is_same<T, double>::value>=0);
}
int main(int argc,char *argv[])
{
B<double> B( 6, 6 );
}
我收到错误消息:“'boost::enable_if_c' 类型参数的默认参数的类型为 'int'”,但我不确定这是什么意思。
非常感谢你。