#include template Type foo( Type arg ) { struct Bar { Type value; }; Bar var; var.value = arg; return var.value; } int main() { printf( "Result is: %i\n", foo(3) ); return 0; }