
#include <iostream>
using namespace std;
template <typename T>
T sum (T a, T b)
{
return a+b;
}
template<>
char sum<char>(char a, char b)
{
cout << "unable to sum char" << endl;
return a;
}
int main()
{
int s1=sum(1 ,2);
double s2 = sum(2.2, 2.0);
string s3 = sum<string> ("sparta", "codingclub");
double s4 = sum<double> (2.2, 2.0);
int s5 = sum<int> (1, 2);
char s6 = sum<char> ('a', 'b');
cout << s1 << endl;
cout << s2 << endl;
cout << s3 << endl;
cout << s4 << endl;
cout << s5 << endl;
cout << s6 << endl;
return 0;
}
위 스크립트의 결과가 아래처럼 나오는데 unable to sum char가 맨 아래가 아닌 왜 맨 위에 나오는 것인가요?
그리고 맨 마지막 a는 왜 나온건가요?
unable to sum char
3
4.2
spartacodingclub
4.2
3
a
