Мне нужно скопировать первый элемент размера из набора Solution (класса) с именем population в массив решений с именем parent.У меня есть некоторые проблемы с итераторами, потому что я должен сделать гибридное решение между нормой для цикла и для с итераторами.Идея такова: когда я на i-й итерации for, я объявляю новый итератор, указывающий начало заполнения, затем я перемещаю этот итератор в i-ую позицию, я беру этот элемент решения и копирую в родителей [i]
Solution* parents; //it is filled somewhere else
std::set<Solution> population; //it is filled somewhere else
for (int i = 0; i < size; i++) {
auto it = population.begin();
advance(it, i);
parents[i] = *it;
}
Два сообщения об ошибках всплывают с этим предложением: «Выражение: невозможно разыменовать конечную карту / задать итератор» и «Выражение: не удается перейти к конечной карте / задать итератор»
Любая идея, как это сделатьтрюк?Я знаю, что это довольно плохое смешивание массива и набора, я должен использовать вектор вместо массива?