考虑以下函数模板:
template <typename T1, typename T2>
void foo(T1 a, T2 b){// Do something.}
现在假设我想要 T1
成为int
,但是T2
由编译器根据 b
的类型推断。类似 foo<int,...>(1,b)
。可能吗?
谢谢!
最佳答案
是的!
foo<int>(1, b);
但在上面的例子中没有任何好处。如果您的第一个参数尚未被推导为 int
,则差异是可见的:
foo<int>(3.2f, b);
// ^^^^ Implicit conversion
关于c++ - 是否可以在调用函数模板时只指定一些模板参数,然后让编译器推导其他参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60392060/