0
#pragma once
#ifndef PRIQUE_H
#define PRIQUE_H

typedef struct queue_node
{
    int val;
    int priority;
    struct queue_node *link;
}

typedef struct p_queue
{
    int size;
    queue_node *first;
}

これはヘッダーファイルの私のコードです。メイン プログラムを実行しているときに、typedef が重複しているというエラーが発生します。それを修正する方法。最初は、すべてのコードを 1 つのファイルに含めていましたが、ヘッダー ファイルを作成すると、これとそれぞれの定義ファイルで作成した問題が修正されると期待していました。どこが間違っているのか、なぜこの問題が発生しているのか教えてください。

4

1 に答える 1

6

私の賢いコメントを補うために、typedef の最後の定義がありません。つまり、あなたはtypedef何かを... 何もしていません。私はあなたがこれをやろうとしていると信じています:

#pragma once
#ifndef PRIQUE_H
#define PRIQUE_H

typedef struct queue_node
{
    int val;
    int priority;
    struct queue_node *link;
} queue_node;

typedef struct p_queue
{
    int size;
    queue_node *first;
} p_queue;

#endif
于 2012-12-22T21:14:40.560 に答える