class S; template int f(T, S); class S { template friend int f(T t, S) { t; return 0; } };