【发布时间】:2016-01-10 21:28:02
【问题描述】:
我有这张 C++ 代码:
#include <list>
#include <iostream>
using namespace std;
struct point
{
int x;
int y;
} ;
typedef struct point point;
struct segment
{
point* p1;
point* p2;
} ;
typedef struct segment segment;
list<segment*> liste;
int main()
{
point A,B,C,D;
A.x=0;A.y=0;
B.x=1;B.y=0;
C.x=0;C.y=1;
D.x=1;D.y=1;
segment AB,BC,CD,DA;
AB.p1=&A;AB.p2=&B;
BC.p1=&B;BC.p2=&C;
CD.p1=&C;CD.p2=&D;
DA.p1=&D;DA.p2=&A;
liste.push_back(&AB);
liste.push_back(&BC);
liste.push_back(&CD);
liste.push_back(&DA);
for(list<segment*>::iterator it = liste.begin(); it!=liste.end(); ++it)
{cout <<"Point1 :(" << *it->p1->x <<endl;
}
}
错误是:
请求'* it.std::_List_iterator<_tp>::operator->()'中的成员'p1',它是指针类型'segment*'(也许你打算使用'->'? )
我无法修复这个错误 任何帮助将不胜感激^^
【问题讨论】: