В целях тестирования я запускаю следующий код через цикл for
. На самом деле существуют только первые три ключа, и «Запись найдена» отображается, как ожидалось, вместе с ключом, полученным от findVertex->first
.STL Map - отображение того, на что указывает функция find()
- Мой вопрос: как я могу получить доступ ко второму указанному значению?
findVertex->second
кажется очевидным, но не работает, так как второе значение является объект, который я создал, заявление которого приводится ниже код, если это было бы никакой пользы. Код
for(int i = 0; i<10; i++)
{
map<int, vector<Vertex> >::const_iterator findVertex = vertexMap.find(i);
if(findVertex != vertexMap.end())
{
cout<<"\nRecord found: ";
cout<<findVertex->first;
cout<<findVertex->second; //does not work
}
else
cout<<"\nRecord not found";
}
Класс:
class Vertex
{
private:
int currentIndex;
double xPoint, yPoint, zPoint;
vector<double> attributes;
public:
friend istream& operator>>(istream&, Vertex &);
friend ostream& operator<<(ostream&, Vertex &);
};
Благодаря
Обеспечение оператор: 'std :: ostream & operator << (std :: ostream &, const std :: vector &)' –