当只有一个模板参数时,C++模板似乎可以自动扣除类型。例如,
template<typename T>
void f(const T &t)
{
cout << t << endl;
}
f(1);
很好。
但是,
template<typename T1, typename T2>
void f(const T1 &t1, const T2 &t2)
{
cout << t1 << t2 << endl;
}
f(1, 2);
以上代码无法通过编译。这是编译器的能力还是违反了标准?
最佳答案
第二个函数和调用是完全有效的。您的编译器有问题或完全拒绝它。
关于c++ - 具有超过 1 个类型名的模板函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4774877/