6.18 Структуры без членов
GCC допускает наличие в C-структуре нулевого количества членов:
struct empty {
};
Структура имеет нулевой размер. В C++, пустые структуры являются частью языка. G++ обрабатывает пустые структуры так, как будто у них есть один член типа char.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-7.5.0/gcc/Empty-Structures.html