1template <bool, int> struct X {}; 2 3template <bool C> struct X<C,1> { 4 typedef double* type; 5 type foo () const; 6}; 7 8template <bool C> 9typename X<C,1>::type 10X<C,1>::foo () const {} 11