template struct foo; template int f(foo*); template char* f(...); struct X { int ob_type; }; struct Y { char* ob_type; }; int x = f(0); char* y = f(0); char* z = f(0); int main() { return 0; }