1

次の C コードが有効かどうか疑問に思います。

struct A {
    struct B {
        int value;
    } b;
};

struct B;

void func1(struct B* b) {
    b->value = 42;
}

void func2() {
    struct A a;
    func1(&a.b);
}

このコードは gcc でコンパイルされ、期待どおりに動作しますが、コード チェッカーは不平を言い、誰が正しいのかstruct B、この形式で参照するのが標準 (C90 または C99) で受け入れられるかどうか疑問に思います。

4

1 に答える 1