簡體   English   中英

鏈接列表:無法訪問另一個結構中的結構向量

[英]Linked lists: Unable to access a vector of structs within another struct

我有一個鏈表,其中的節點是根據以下結構構建的:

struct node{
    Instr anInstr;
    node *next;
    std::vector<dependency *> instrDep;
};

向量是一組將元素連接到其他元素的額外鏈接。 因此,例如,元素5將以正常鏈接列表的方式使用* next鏈接至元素6,但隨后我想使用單獨的方法將元素5連接至其他各種元素。

我選擇的方法是使用結構向量(對於每個連接,我需要在額外結構中包含一些額外信息)。 這是向量中使用的結構:

struct dependency{
    struct node *pDependency;
    short delay;
    dependencyType depType;
};

我沒有問題創建額外的連接,但是后來在重新訪問它們時遇到了問題

cout << temp->instrDep.delay << endl;

其中temp是原始節點,而instrDep是依賴項結構,給我:

錯誤:“類std :: vector”沒有名為“延遲”的成員

有任何想法嗎????

您缺少索引。 同樣,由於向量包含指針,因此需要使用->運算符。 要訪問向量中的第n個元素,請使用

cout << temp->instrDep[n]->delay << endl;

(假設temp是指向node的指針)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM