使用迭代器从列表中打印struct value

时间:2015-07-07 05:15:46

标签: c++ list struct

我在从结构页面打印值时遇到问题。我试图从页面列表中打印Pages中的段值。 assignSegments()方法将值赋给变量段。这是我得到的错误。 'std :: list :: iterator'没有名为'segment'的成员

这是我到目前为止的代码。如果您需要更多代码,请告诉我。

以下代码在我的主要

Process child;
char c = 'A';
c = c+i;
child.letter = c;

assignSegments(child.childPages, child.letter, CreateRandomNumber());

for(list<Pages>::iterator iter = child.childPages.begin(); iter != child.childPages.end(); i++)
{
     cout << *iter.segment << endl; // having trouble printing here
}

以下是我正在使用的结构。

struct Pages
{    
    string segment;
    char validBit;
    int refByte;
    Pages * pagePointer;
    int* memoryPointer;
};

struct Process
{    
    char letter;
    list<Pages> childPages;
};

2 个答案:

答案 0 :(得分:1)

我认为jQuery(document).ready(function ($) { $(".fancybox").fancybox({ // all your API options here beforeShow: function () { var alt = this.element.find('img').attr('alt'); this.inner.find('img').attr('alt', alt); this.title = alt; }, helpers: { title: { type: 'inside' } } }); }); // ready 正是您所寻找的。

答案 1 :(得分:0)

operator.的优先级高于operator*,因此首先评估iter.segment,显然这不是您想要的。

C++ Operator Precedence

的参考

你可以改变

cout << *iter.segment << endl;

cout << (*iter).segment << endl;

或只是

cout << iter->segment << endl;