小编fei*_*tao的帖子


别名带有默认参数的模板函数

以下 C++ 代码无法编译:

template <typename T>
void f(int, bool = true);

void g()
{
    auto h = f<int>;
    h(1); // error: too few arguments to function
}
Run Code Online (Sandbox Code Playgroud)

相反,我必须h使用第二个参数调用:

h(1, true);
Run Code Online (Sandbox Code Playgroud)

为什么不起作用h(1)

有没有一种简单的方法来给模板函数添加别名来绑定模板参数,同时保留默认的函数参数?

c++ templates default-arguments

3
推荐指数
1
解决办法
70
查看次数