我有了找到最短路徑(Dijkstra算法)的程序,我已經決定使用指針結構數組,我不斷收到此錯誤:C++數組的指針,以結構
In function
‘void insertNode(Node**, int)’
:
TDA.cpp:14: error: cannot convert‘Node**’
to‘int*’
in assignment
這裏是我的代碼:
struct Node{int distance, newDistance;};
int *pointerArray[20];
void insertNode(Node **n, int i)
{
pointerArray[i] = &(*n);
}
Node *createNode(int localDistance)
{
Node *newNode;
newNode = new Node;
newNode->distance = localDistance;
newNode->newDistance = 0;
return newNode;
}
int main()
{
Node *n;
int random_dist = 0;
int i;
for(i=0; i<20; i++)
{
if (i==0)
{
n = createNode(0);
cout << n->distance << " distance " << i << endl;
}
else
{
random_dist = rand()%20 + 1;
n = createNode(random_dist);
cout << n->distance << " distance " << i << endl;
insertNode(&n, i);
}
}
return 0;
}
我在做什麼錯?
謝謝你的幫助 – codenamejupiterx 2011-05-01 17:46:23