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 и работает как можно было бы ожидать, в то время как код проверки жалоб и мне интересно, кто прав, и если это является приемлемым стандартом (C90 или C99) для обозначения struct B
в этой форме.
Игнорирование вложенности, 'A A,' не должны компилировать. Это должна быть 'struct A a.'. С этим изменением MSVC также принимает это. – hmjd
Спасибо, 'struct' был потерян, когда я форматировал сообщение, добавив его сейчас. – johannes
что-то скажет? –