subscript requires array or pointer type
在写最短路径算法的时候出现问题:subscript requires array or pointer type算法的代码我贴出来,希望大家帮我看看是哪里出错了.
void Graph::ShortestPath(VertexType & v)
{
int pos=GetVertexPos(v); //取得顶点值为v在数组中的位置
for(int i=0;i<NumVertices;i++) //NumVerteces为图中的结点个数
{
dist[i]=Matrix[pos][i]; //邻接矩阵的第pos行元素复制到dist中
WeightFound[i]=0; //已求出最短路径的顶点集合初始化
if(i!=pos&&dist[i]<MaxNum)
path[i]=pos;
else
path[i]=-1; //路径存放数组初始化
}
WeightFound[i]=1; //将顶点v加入到顶点集合
dist[pos]=0;
for(i=0;i<NumVertices-1;i++)
{
double min_value=MaxNum;
int u=pos;
for(int j=0;j<NumVertices;j++)
if(!WeightFound[j]&&dist[j]<min_value)
{
u=j;
min_value=dist[j];
}
WeightFound[u]=1;
for(int w=0;w<NumVertices;w++)
if(!WeightFound[w]&&(dist[u]+MaxNum[u][w]<dist[w]))
{
dist[w]=dist[u]+Matrix[u][w];
path[w]=u;
}
}
}
在红色代码出编译的时候提示出现错误
dist[],path[],weightFound[]是在类Graph里面定义的