質問

私は次のようにCにいくつかの基本的な構造体を使用したいです

struct p {
    int a;
    int b;
    p * next;
}

しかし、それはerror: parse error before "p"とライン上のp * next;でコンパイルに失敗します。

あなたが任意のアイデアを持っていた理由は、この問題のために何ができるか?

役に立ちましたか?

解決

Cの構造体は、このように、異なる名前空間に住んでいて、明示的にスコープする必要があります:

struct p {
    int a;
    int b;
    struct p * next;
};

そして最後にセミコロンを忘れないでください! : - )

typedef struct p { /*...*/ } p;

あなたはこのようにC ++にいるふりをすることができます。しかし、私は上記のように、そのnextがまだ宣言されているだろうと思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top