template <class T> class Foo { public: Foo(const T&); Foo(const T&, const T&); }; template <class T> Foo<T>::Foo(const T& t0) { } template <class T> Foo<T>::Foo(const T& t0, const T& t1) { } template Foo<int>::Foo(const int& t0); int main (void) { return 0; }