ошибка сегментации при входе в цикл - PullRequest
0 голосов
/ 06 марта 2012

У меня ошибка seg в C ++ при входе в цикл for. Но я имею в виду, входя в него. Вот код, который я использую:

std::cout<<"forcing order"<<endl;
std::cout<<"crossoverPointNumber = "<<crossoverPointNumber<<endl;
for (long j=0; j<crossoverPointNumber; j++)
{
    std::cout<<"j = "<<j<<". ";
    offsprings[1][positionsInParent1[j]] = valuesInParent2[j];  // Forces the order
}//end for j

Вывод на терминал:

forcing order
crossoverPointNumber = 4
Segmentation fault

Может кто-нибудь объяснить мне, что мне здесь не хватает ?? кажется, что это очень элементарный или очень сложный материал C ++ ...

1 Ответ

3 голосов
/ 06 марта 2012

Вы не добавляете endl в поток cout в вашем цикле, поэтому отправленный вами код не сообщает нам, когда вы получаете ошибку сегментации. Пока вы не добавите endl, выходной поток не будет сброшен.

Я бы сильно подозревал, что у вас заканчивается конец ваших массивов positionInParent1 или valuesInParent2.

...