一貫していない構造体/共用体の宣言 (フィールド数の不一致)

一貫していないデータ宣言が見つかりました。

2 つのコンパイル単位で同じ名前の構造体または共用体が宣言されましたが、フィールド数が一致しないため 2 つの型の比較に失敗しました (どちらか一方のフィールド数のほうが多い)。

ID

問題箇所

説明

1

定義

1 つ目の宣言

2

定義

2 つ目の宣言

file1.c:

typedef struct {
    long long j;
    short int i;
    short int k;
} pw;
pw rec = {1,2,3};

extern pw rec2;

int main(int argc, char **argv)
{
    if (rec.k == rec2.k) return 1;
    return 0;
}
        
file2.c:
          
    typedef struct {
        long long j;
        short int i;
    } pw;

    pw rec2 = {10,12};
        

© 2010 Intel Corporation. 無断での引用、転載を禁じます。