我正在定义一个函数来向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;};
我在做什么错?
它应该是'p.original_points'。朋友功能不是会员功能。 – 0x499602D2 2015-04-03 13:56:42
@ 0x499602D2'p.original_points.push_back'不起作用。 'p'是一个'const'引用。 – juanchopanza 2015-04-03 14:06:38
'vector'在哪里? –
juanchopanza
2015-04-03 14:07:06