Class 模板构造函数默认参数

Class template constructor default arguments

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

使用这个结构模板

template<class Type1, class Type2>
struct Pair

这是我的构造函数:

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

我使用对每种类型的默认构造函数的调用。 如果我用参数调用构造函数,一切都会进行:

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

但是当我在没有参数的情况下进行调用时,程序给出了链接器错误。

有可能实现我正在尝试的吗?如果是这样,我误解了什么?

谢谢大家

已解决。

我试图创建像

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

而不是

Pair<float, double> pair_fd;

感谢@chris