我现在有一个类定义为
template <class A> class MyClass { };
我想添加一个可选的模板参数B,这将导致
template <class A, class B> class MyClass {};
但我想以这样的方式,如果没有指定B,即如果我定义
MyClass<double> x;
然后B也将是与A相同的类型(或在上述情况下为双倍)。
这在C ++中是否可行?
答案 0 :(得分:3)
template <class A, class B = A> class MyClass {};
答案 1 :(得分:1)
是的,您只需设置B的默认值:
template <class A, class B = A> class MyClass {};