1) Ключевое слово typename используется при объявлении шаблона, для указания компилятору что вслед за typename идет имя идентификатора типа.
1) Ключевое слово typename используется при объявлении шаблонов аналогично ключевому слову class
#include <iostream> // cout, endl
using namespace std;
template <typename T> // Идентично template <class T>
void my_print(T name){ // Функция принимающая тип T в качестве аргумента
cout << name << endl; // Выводим значение аргумента
}
int main() {
my_print(10); //10
my_print(3.14); //3.14
my_print("hoba"); //hoba
}