我在 C++ 中使用向量,
vector<Agents> agentlist;
为什么这行得通,
(agentlist.begin() )->print();
这不是吗?
*(agentlist.begin() ).print();
使用 取消引用迭代器是否有效*
?
我在 C++ 中使用向量,
vector<Agents> agentlist;
为什么这行得通,
(agentlist.begin() )->print();
这不是吗?
*(agentlist.begin() ).print();
使用 取消引用迭代器是否有效*
?
请参阅运算符 Precedence,.
优先级高于*
*(agentlist.begin()).print();
表示为:
*((agentlist.begin()).print());
当迭代器没有.print()
函数调用时,编译器会抛出编译错误。
你需要:
agentlist.begin()->print(); or (*agentlist.begin()).print();
尝试使用(*(agentlist.begin())).print();
:)