Я предполагаю, что ошибка что-то вроде
поле "а" имеет неполный тип
Это потому, что когда не статично, класс A
не определен полностью до закрывающей скобки. Статические переменные-члены, с другой стороны, нуждаются в отдельном шаге определения после того, как класс полностью определен, поэтому они работают.
Найдите разницу между объявлением и определением для более подробных объяснений.