6

新しい var 型として宣言する必要がある構造体をネストしようとすると問題が発生します。コードは次のとおりです-

typedef struct
{
    typedef struct
    {
        int day,
            month,
            year;
    } Date;

    Date manuDate,
         purDate;
    double purPrice;
} Car;

コンパイルしようとすると、エラーがスローされます

「typedefの前の構文エラー」と、それが原因で発生するその他のエラーの束。

これはCができないことですか?ポインターを持たないネストされた構造体に問題があることは知っていますが、この場合にどのように機能するかはわかりません...

4

5 に答える 5

7

C は、ネストされた構造定義をサポートしていません。おそらく、いくつかの C++ コードを見ていました。

代わりに、最初に「内部」構造体を定義し、それを「外部」構造体内で参照するだけです。

typedef struct
{
    int day,
        month,
        year;
} Date;


typedef struct
{
    Date manuDate,
         purDate;
    double purPrice;
} Car;
于 2015-05-04T00:12:12.823 に答える