Я только что узнал об этом:
static int x = x;
Почему эта инициализация принята компилятором C++?
Я бы назвал это аномалией компилятора, но кто-то может прийти с хорошим объяснением этого.
Таким образом, для данных со статическим хранилищем можно инициализировать переменную самой собой... Я пробовал это с помощью компиляторов VS2015 и VS2017, а также некоторых других онлайн-компиляторов C++.