重複の可能性:
「互換性のないポインター型からの代入」警告
私には 2 つの構造があり、一方は他方から構築されます。私の希望は、それらを一緒に使用して、有向加重グラフの隣接リストを作成することです。
ここに私の構造があります:
typedef struct{
int v;
int edgeWeight;
struct adjEdge * next;
}adjEdge;
typedef struct{
int v;
int weight;
struct adjEdge *adj;
}vertex;
そのため、adjEdge 構造関数である別の頂点への接続がない限り、基本的に頂点 adj は null になります。
私の問題は、adjEdge を頂点構造に割り当てると、エラーが発生することです。
bfs.c:75: warning: assignment from incompatible pointer type
これがコードの一部です。エラーが実際にスローされている場所を確認するためにそれを見てください
while((fscanf(fp, "%d %d %d", &u, &v, &w)) != EOF)
{
vertexArray[u-1].v = u;
adjEdge * newEdge;
newEdge->v = v;
newEdge->edgeWeight = w;
newEdge->next = NULL;
if(vertexArray[u-1].adj = NULL)
{
vertexArray[u-1].adj = newEdge; //error
}
else
{
adjEdge * traverse = vertexArray[u-1].adj; //error
while(traverse->next != NULL)
{
traverse = traverse->next; //error
}
traverse->next = newEdge; //error
}
}
構造体で宣言したら、このような割り当てを利用できると思いましたか?