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
我正在尝试让构造函数为模板类型设置默认值,如下所示:
使用这个结构模板
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