C でジェネリック キューを作成していますが、タイトルにエラーが表示されます。私の Queue.c ファイルの関数は、初期化されたポインターを受け取ることを目的としています。
ここに私の構造体コードがあります:
struct QueueNode {
struct QueueNode *prev;
struct QueueNode *next;
};
typedef struct QueueNode QNode;
struct Queue {
QNode front;
QNode rear;
};
typedef struct Queue Q;
次に、Queue init 関数でエラーが発生します。これが私の機能です:
void Q_Init(Q* const pointerQ){
assert (pointerQ != NULL);
pointerQ.front->prev = NULL;
pointerQ.front->next= pointerQ.rear;
pointerQ.rear->prev = pointerQ.front;
pointerQ.rear->prev = NULL;
}
なぜエラーが発生するのか完全にはわかりません。Queue にはポインターではなく Node メンバーがあるため、pointerQ.front/rear を使用してそれらにアクセスし、Node にはポインター メンバーがあるため、->next/rear を使用する必要があると考えました。
どんな助けでも大歓迎です!
前もって感謝します!