我正在定義一個函數來向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