【发布时间】:2015-05-29 20:17:12
【问题描述】:
我想在 C++03 中实现以下内容:
template <typename T1, typename T2>
T1 convert(bool condition, T2& value)
{
return condition ? value : conversionFunction(value);
}
除了我想调用convert 而不必明确指定T1。我怎么做?
【问题讨论】:
-
如果条件成立,那么你返回值,它必须可以转换为T1,对吧?
-
不,可以转换的不是必须的。
-
convert模板的第二个参数既没有默认也没有指定?我们希望调用 convert(x) 被上面的模板拾取?
-
...是吗?我不确定你在暗示什么。
-
@armundle 真的修复了。
标签: c++ templates template-argument-deduction return-type-deduction