我在c++中使用一个向量,
vector<Agents> agentlist;为什么要这样做,
(agentlist.begin() )->print();这不是吗?
*(agentlist.begin() ).print();使用*取消迭代器引用不是有效的吗?
发布于 2013-08-10 12:48:56
参见算子优先,.的优先级高于*
*(agentlist.begin()).print();表示为:
*((agentlist.begin()).print());当迭代器没有.print()函数调用时,编译器会抛出编译错误。
你需要:
agentlist.begin()->print(); or (*agentlist.begin()).print();发布于 2013-08-10 12:49:09
尝试使用(*(agentlist.begin())).print(); :)
https://stackoverflow.com/questions/18162030
复制相似问题