0
嗨,我面临这个问题,我研究,应该没有问题与我的代码。所以我不知道为什么发生这种情况,基本上我有这样的:错误:表达式必须有一个指向类C++的指针
typedef struct {
Edge *next;
Edge *twin;
} Edge;
然后,我有,当我尝试访问此边缘我面对的成员存储这个结构
std::vector<Edge*> EdgeList;
但是矢量上面的错误。
Edge *e1
e1->next = EdgeList[index]->next->twin;
我能够访问只能达到一度,因为如果我以这种方式编写我的代码;
Edge *e1, *e2;
e2 = EdgeList[index]->next;
e1->next = e2->twin;
错误消失。注意我确保所有的指针都不是NULL。我想问问为什么这样呢?如果我想获得几个学位,那么我不能为每个学位一次申报一个变量。有人可以帮忙吗?
你有没有读过'new'? –
您正试图使用未初始化的指针。 e1应该被声明为边e1;例如,使用e1.next访问。 – Steger