1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
// { dg-options "-std=c++0x" } template<class T, T t = (T)0> struct S { void foo(decltype(t) = t); }; template<class T, T t> void S<T, t>::foo(decltype(t)) { } void bar() { S<int> s; s.foo(); }