我有一个形式为
的模板化函数template <typename T>
void my_fct( vector<T> ){...}
并且想提供一个默认参数,这样也可以调用my_fct()。显然,编译器不知道什么类型&#34; T&#34;在这种情况下,但在某种情况下是否有某种方法可以给它一个默认类型?
我试图传递一个double类型的空向量
template <typename T>
void my_fct( vector<T> = vector<double> ){...}
但这不起作用。
谢谢!
答案 0 :(得分:1)
使T
成为默认参数:
template <typename T = double>
void my_fct( vector<T> = vector<T>() ) {...}
因此,当用户使用零参数调用函数时,向量的类型将std::vector<double>
初始化为默认参数。