输入循环时的分段错误

时间:2012-03-06 10:04:12

标签: c++ arrays for-loop segmentation-fault

进入for循环时,我在C ++中有段错误。但我的意思是在进入它时。这是我正在运行的代码:

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 个答案:

答案 0 :(得分:3)

您没有在循环中的cout流中添加 endl ,因此您发布的代码并未告诉我们您何时收到分段错误。在添加endl之前,不会刷新输出流。

我强烈怀疑你在positionInParent1或valuesInParent2数组的末尾运行。