Пожалуйста, вы на C, а не на C ++.
Если вам действительно нужно набрать определение структуры (а большинство программистов, с которыми я работаю, не будут), сделайте следующее:
typedef struct _A {
int a;
int b;
struct _A *next;
} A;
для четкого различия между _A
(в пространстве имен struct
) и A
(в пространстве имен типов).
¹ typedef
скрывает размер и хранение того типа, на который он указывает - аргумент (и я согласен) заключается в том, что в языке низкого уровня, таком как C, попытка скрыть что-либо вредно и контрпродуктивно. Привыкайте набирать struct A
всякий раз, когда вы имеете в виду struct A
.