访问c ++中的列表元素函数

时间:2014-05-16 13:56:59

标签: c++ list iterator

我有一个积分列表。

class Point {
private:
    int xval, yval;
public:
    Point(int x=0, int y=0) {
        xval = x;
        yval = y;
    }

    int x() { return xval; }
    int y() { return yval; }

    friend bool operator== (const Point a,const Point b) {
        return (a.xval==b.xval && a.yval==b.yval);
    }
};

现在主要我想查找某些点,如果它们存在于列表中,如果存在,我想要访问该点的y值。

list<Point> coordinates;
for (list<Point>::iterator i = coordinates.begin(); i!=coordinates.end(); i++) {
    if(*i.y()>height) height = *i.y();
}

现在我的问题是如何访问一个点的y()函数?因为这段代码告诉我一个错误,y不是'std :: _ List_iterator&lt; _Mylist&gt;'的元素

2 个答案:

答案 0 :(得分:2)

使用

 if((*i).y()>height) height = (*i).y();

答案 1 :(得分:2)

试试这个:i->y()或者:(*i).y()