Ваша текущая проблема компиляции в том, что вы пытаетесь сохранить std::vector<Agent>::iterator
в std::vector<int>::iterator
. Это два совершенно разных типа.
Затем возникает проблема времени выполнения (после того, как вы фактически добавляете элементы в свой контейнер, потому что сейчас у вас их нет), ваши итераторы могут быть признаны недействительными после push_back
, и у вас будет UB, потому что вы изменяете контейнер, пока вы Зацикливаемся.
Тогда возникает проблема, когда вы пытаетесь сохранить Agent*
в векторе Agent
.
Всего:
std::vector<Agent> population;
//fill your vector.. otherwise loop is useless because size is 0..
auto size = population.size();
for (unsigned int i = 0; i < size; ++i) {
population.push_back(Agent(generateDna(targetString.size())));
}