У меня есть список векторов:C++: Доступ определенный элемент в списке векторов
list< vector<int> > myList;
Структура этого списка:
({1,2,3}, {4,5,6}, ...)
Я хочу, чтобы получить определенный элемент его позиции. Например, getFromList(myList, 0, 2)
вернет 3
. Я попытался это, но он не работает:
int getFromList(list< vector<int> > myList, int i, int j)
{
int ki = 0, kj = 0, num;
for (list<vector<int>>::iterator it1 = myList.begin(); it1 != myList.end(); ++it1) {
vector<int>::iterator it2;
ki++;
for (it2 = (*it1).begin(); it2 != (*it1).end(); ++it2) {
kj++;
if (ki == i && kj == j) {
num = (*it2);
}
}
}
return num;
}
Есть много ошибок, если я использую вашу команду, Cássio Ренан. Первая ошибка: 'Ошибка ошибка C2227: слева от '-> at' должна указывать на класс/struct/union/generic type' – Gooman
@ CássioRenan' list' итератор, возвращаемый 'begin()', является двунаправленным итератором. Вам запрещено использовать 'operator +'. –