C++ 无法访问多重映射迭代器的方法?
我不知道出了什么问题,但我无法访问迭代器所引用的对象的方法。这就是我所拥有的:C++ 无法访问多重映射迭代器的方法?,c++,iterator,multimap,C++,Iterator,Multimap,我不知道出了什么问题,但我无法访问迭代器所引用的对象的方法。这就是我所拥有的: multimap<long, Note>::iterator notesIT; notesIT = trackIT->getNoteList().lower_bound(this->curMsr * 1000000); while(notesIT->first / 1000000 == 1){ cout << notesIT->first.getStartTi
multimap<long, Note>::iterator notesIT;
notesIT = trackIT->getNoteList().lower_bound(this->curMsr * 1000000);
while(notesIT->first / 1000000 == 1){
cout << notesIT->first.getStartTime() << endl; // error on this line
notesIT++;
}
multimap::迭代器notesIT;
notesIT=trackIT->getNoteList()。下限(this->curMsr*1000000);
而(notesIT->first/1000000==1){
cout first.getStartTime()[with _Tp=std::pair]()->std::pair::first',它是非类类型“const long int”
也许:
notesIT->second.getStartTime()
也许:
notesIT->second.getStartTime()
编译器告诉你
notesIT->first.getStartTime()
无效,因为您正试图在int
上调用getStartTime()
。显然,您打算在节点上调用它,因此请选择迭代器指向的对的第二部分(这将生成迭代器的节点
部分):
cout second.getStartTime()编译器告诉您
notesIT->first.getStartTime()
无效,因为您正试图在int
上调用getStartTime()
。显然,您打算在节点上调用它,因此请选择迭代器指向的对的第二部分(这将生成迭代器的节点
部分):
cout second.getStartTime()您想要第二个so使用->第二个…提取的错误消息:“请求成员getStartTime
…在非类类型const long int
”您想要第二个so使用->第二个…提取的错误消息:“请求成员getStartTime
…非类类型const long int
”我应该看到的。谢谢我应该看到的。谢谢