我的问题很简单
#include <iostream>
using namespace std;
template <typename T>
void f(T&& i) {
cout << i << endl;
}
void g(int&& i) {
cout << i << endl;
}
int main() {
int i = 0;
f(i); // works fine
g(i); // candidate function not viable: no known conversion from 'int' to 'int &&'
// for 1st argument void g(int&& i)
}
Run Code Online (Sandbox Code Playgroud)
为什么我可以将左值传递给模板化函数f()而不是非模板化函数g()