1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
// Build don't link: template <int dim> class Point { public: Point (Point<dim> &); Point<dim> & operator = (Point<dim> &); }; template <int dim> class bar{ public: void foo (Point<dim> p = Point<dim>()); }; template <> void bar<2>::foo (Point<2> p) { const int dim = 2; Point<dim> q = p; };