#include template void Hello() { std::cout << "Hello " << name << std::endl; } char nm1[] = "Ivan"; int main(int argc, char** argv) { Hello(); // does not have external linkage, not valid as a template argument // char nm2[] = "Charlie"; // Hello(); // string literals can not be used as a template argument // Hello<"Ivan">(); return 0; }