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