我有一个链表,其节点由以下结构构成:
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是依赖结构,给我:
错误:&#39; class std :: vector&#39;没有名为&#39;延迟&#39;
的成员任何想法????
答案 0 :(得分:0)
你错过了一个索引。另外,当向量包含指针时,您需要使用->
运算符。要访问向量中的第n个元素,请使用
cout << temp->instrDep[n]->delay << endl;
(假设temp
是指向node
)的指针