链接列表:无法访问另一个结构

时间:2017-10-24 01:02:55

标签: c++ vector struct linked-list

我有一个链表,其节点由以下结构构成:

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;

的成员

任何想法????

1 个答案:

答案 0 :(得分:0)

你错过了一个索引。另外,当向量包含指针时,您需要使用->运算符。要访问向量中的第n个元素,请使用

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

(假设temp是指向node)的指针