Синтаксис шаблона функции записывается следующим образом:
template <список_обобщенных_типов> тип_функции имя_функции(список_параметров){}
#include "stdafx.h"
#include <iostream>
using namespace std;
template <class T> void Summa(T& a, T& b)
{
T c;
c=a+b;
cout<<c<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
double a=20.3005,b=11.71;
int a1=3, b2=5;
Summa(a,b);
Summa(a1,b2);
// явное указания типа функции
Summa<double>(a,b);
Summa<int>(a1,b2);
system("pause");
return 0;
}
Результат работы программы:

