谁能解释下 严蔚敏的数据结构(c语言版) closedge[j]={u, G.arcs[k][j].adj};

error C2143: syntax error : missing ';' before '['
error C2143: syntax error : missing ';' before '{'

第1个回答  2011-12-12
不能这样,只能在定义的时候这样追问

那怎么办

追答

struct
{
vextype adjvex;
adjtype lowcost;
} closedge[30];
for (int j = 0; j < n; j++)
{
if (j != k)
{
closedge[j].adjvex = u;
closedge[j].lowcost = G.arcs[k][j];
}
}
closedge[k].lowcost = 0;

本回答被提问者采纳
第2个回答  2011-12-12
详细点,太模糊了追问

struct{
vextype adjvex;
adjtype lowcost;
}closedge[30];
for(int j=0;j<n;j++)
if(j!=k)
closedge[j]={u,G.arcs[k][j]};
closedge[k].lowcost=0;
编译出错,意思是结构体数组不能这样赋值,不知道怎么办

追答

结构体 struct 只有初次使用是才能用{ }赋值,
struct{
vextype adjvex;
adjtype lowcost;
}closedge[30];
for(int j=0;j<n;j++)
if(j!=k)
closedge[j]={u,G.arcs[k][j]}; //closedge[j]是一个引用,或者说是指针
closedge[k].lowcost=0;

第3个回答  2011-12-12
编译出错,推出运行
相似回答