我正在定义一个函数来将元素添加到vector<Point> original_points
名为
void add_point()
. 为什么在函数体中突出显示original_points
为未定义,当我使用类型限定符时:朋友(获得访问权限)并且它在类的范围内?
// data structure representing Point in 2D plane
class Point{
public:
//contructors
Point();
Point(double x, double y);
// non-modifying methods
inline double get_xcoord()const{return xcoord;}
inline double get_ycoord()const{return ycoord;}
// modifying methods
inline double set_xcoord(double x){xcoord=x;}
inline double set_ycoord(double y){ycoord=y;}
// non-member function with access to private members
friend inline void add_point(const Point& p){original_points.push_back();}
private:
double xcoord;
double ycoord;
vector<Point> original_points;};
我究竟做错了什么?