1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
// PR c++/14930 template<typename T> class Point; template<> class Point<double> { friend class Plane; double v; }; struct Plane { double get(const Point<double>& p); }; double Plane::get(const Point<double> &p) { return p.v; }