Question:
Template <typename T> void fun (T num ){};
If you call
Fun (double (1.23 ));
Fun (int (1 ));
The compiler will enumerate fun (double num) and fun (int num)
But I want to ask if you call fun (int) twice)
Fun (int (1 ));
Fun (int (2 ));
The compiler will actually list two fun (int), or one ???? I am very confused.
Please kindly advise.
[Cpp]
# Include <iostream>
Using namespace std;
Template <typename T>
Void fun (T num)
{
Static int cnt = 0;
Cnt ++;
Cout <"cnt =" <cnt <"\ t" <"num =" <num <endl;
}
Int main ()
{
Int a = 1;
Fun ();
Int B = 2;
Fun (B );
Double c = 2.23;
Fun (c );
Return 0;
}
# Include <iostream>
Using namespace std;
Template <typename T>
Void fun (T num)
{
Static int cnt = 0;
Cnt ++;
Cout <"cnt =" <cnt <"\ t" <"num =" <num <endl;
}
Int main ()
{
Int a = 1;
Fun ();
Int B = 2;
Fun (B );
Double c = 2.23;
Fun (c );
Return 0;
}
Result:
Cnt = 1 num = 1
Cnt = 2 num = 2
Cnt = 1 num = 2.23
Conclusion: only once