私は、次のプログラム持っている:私はi
ためにはn
への参照ですので、私はテンプレート関数f
は、テンプレートの種類T
ためint&
を取得する必要があることを期待していることを期待なぜC++テンプレートタイプの一致で参照修飾子 '&'が取得されないのですか?
#include<stdio.h>
template<class T> void f(T t) {
t += 1;
}
template<class T> void g(T &t) {
t += 10;
}
int main()
{
int n=0;
int&i=n;
f(i);
g(i);
printf("%d\n",n);
return 0;
}
を。しかし、実際にはそうではありません。プログラムの出力は10
で、私が期待した通り11
ではありません。
だから私の質問はf
、なぜT
試合int
ではなく、変数i
のint&
のため、ありますか?何がここにあるの?
ありがとうございました。