类模板构造函数默认参数

时间:2016-05-26 15:39:55

标签: c++ constructor default-parameters

我正在尝试让构造函数为模板类型设置默认值,如下所示:

使用此结构模板

template<class Type1, class Type2>
struct Pair

这是我的构造函数:

Pair(const Type1& t1 = Type1(), const Type2& t2 = Type2()) :
first(t1), second(t2)
{}

我使用对每种类型的默认构造函数的调用。 如果我用params调用构造函数,那么一切都顺其自然:

Pair<float, double> pair_fd(1, 1);

但是当我在没有params的情况下进行调用时,程序会发现链接器错误。

有可能实现我的目标吗?如果是这样,我错过了什么?

谢谢大家。

1 个答案:

答案 0 :(得分:0)

解决。

我试图创建像

这样的变量
Pair<float, double> pair_fd();

而不是

Pair<float, double> pair_fd;

谢谢@chris