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