我有麻烦从我的结构页打印值。我试图从页面列表中打印页段的值。assignSegments()方法将值赋给变量segment。这是我得到的错误。' 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;
};
我想cout << iter->segment << endl;
就是你要找的。
operator.
比operator*
具有更高的优先级,因此iter.segment
将首先求值,显然这不是您想要的。
c++操作符优先级参考
你可以修改
cout << *iter.segment << endl;
cout << (*iter).segment << endl;
还是
cout << iter->segment << endl;