我正在尝试让构造函数为模板类型设置默认值,如下所示:
使用此结构模板
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的情况下进行调用时,程序会发现链接器错误。
有可能实现我的目标吗?如果是这样,我错过了什么?
谢谢大家。
答案 0 :(得分:0)
解决。
我试图创建像
这样的变量Pair<float, double> pair_fd();
而不是
Pair<float, double> pair_fd;
谢谢@chris