j'obtiens une erreur de segmentation dans le code suivant:C++ Segmentation Fault boucle
Node *pointerArray[6];
int onesNeighbor[]={2,3,6};
Node *createNode(int localDistance)//////creates a node
{
Node *newNode;
newNode=new Node;
newNode->wasVisited=false;
newNode->shortestDistance=localDistance;
return newNode;
}
void insertNode(Node *n,int i)//////////////////connects nodes to the
{/////////////////////////////////////////array of pointers
pointerArray[i]=n;
}
for(i=1;i<7;i++)
{
if(i==1){
n=createNode(0);
cout<<i<<"\t"<<n->shortestDistance<<"\t";
for(int j=0;j<=2;j++)
cout<< onesNeighbor[j]<<",";
cout<<endl;
for (count = 1; count < 2; count++)
{
current = pointerArray[count];
if (count == 1)
{
for (int j = 0; j <= 2; j++)
{
lowest = current->shortestDistance;
current = pointerArray[onesNeighbor[j]];
if (current->shortestDistance < lowest)
{
lowest = current->shortestDistance;
closestNeighbor = onesNeighbor[j];
}
}
}
}
..... Aide PLease
quelle ligne est-ce la panne de segment qui se passe? – TheFuzz
Nous aurions besoin de voir les déclarations de 'pointerArray' et' onesNeighbor' pour être en mesure de vous dire exactement, mais fondamentalement, l'un de ces tableaux est soit trop petit, soit un pointeur sauvage - probablement le dernier. –
COde tel qu'écrit actuellement n'atteindra jamais la boucle interne, puisque count sera 2 au début de la première itération. – Joe