#include using namespace std ; //-------------------------------------------------------- template void f1(T param) { cout << "param:" << param << " " << typeid(T).name() << " " << typeid(param).name() << endl ; //(*param)++ ; Compiler error } //-------------------------------------------------------- int main() { int x1 = 27; // x is an int const int* ptr1 = &x1 ; //T is const int* and param is const int* f1( ptr1 ) ; return 0 ; } //--------------------------------------------------------