これが私のコードです:
void setUpEachFlechette(int numFlechettes){
int i = 0;
int totalNum = 0;
Flechette* next;
Flechette* head;
Flechette* pEnd;
Flechette* temp;
while(numFlechettes != i){
double x = getRandomNumberX();
double y = getRandomNumberX();
double z = getRandomNumberZ();
if(i != 0)
temp = next;
next = new Flechette;
next->setXYZ(x, y, z);
if(i == 0)
head = next;
else
next->link = temp;
i++;
next->display();
}
cout<<"\nThe total number of flechettes is "<<totalNum<<endl<<endl;
char yes = NULL;
cout<<"Ready? ";
cin>>yes;
i = 0;
next->link = NULL;
next = head;
while(next != NULL){
next->display();
next = next->link;
i++;
}
}
何らかの理由で、リンクされたリストをループすると、リストの最初の 4 つのノードのみが表示され、最初の 4 つのノードが繰り返されます。また、null で適切に終了させることもできないため、while(next != null) ループを実行できます。私のコーディングがすべてのフレシェットをループしないのはなぜですか? 参考までに、4 つのフレシェット 'i' 回だけでなく、20 の異なるフレシェットをループする必要があります。
関数はかなり自明だと思います。それらが私に知らせなければ、私はあなたにそれらを説明します.