[英]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.