1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
// Build don't link: // GROUPS passed templates template <class T, class U> void foo(U u, T t); template <class T> void foo(T t); template <class T> struct S {}; template <class T> void foo(const S<T>&); void bar() { void (*fn)(double, int) = (void (*)(double, int)) &foo<int>; void (*fn2)(double) = foo<double>; foo<int>(3, 3.0); foo<int>(S<int>()); }