1template <class T> struct PCVector2 // { dg-message "note" } 2{ 3 template <class T2> PCVector2(const PCVector2<T> &cv) ; // { dg-message "note" } 4 5 PCVector2<T> operator- (const PCVector2<T> &ov) const 6 { 7 return PCVector2<T>(ov.xFIELD, ov.yFIELD); // { dg-error "matching" } 8 // { dg-message "(candidate|expects 1 argument, 2 provided|cannot convert)" "candidate note" { target *-*-* } 7 } 9 } 10 11 T xFIELD, yFIELD; 12}; 13 14void findIntersection( PCVector2<double>& p0, PCVector2<double>& p1); 15 16 17void findIntersection( PCVector2<double>& p0, PCVector2<double>& p1) 18{ 19 PCVector2<double> e = p1 - p0; // { dg-message "required" } 20} 21