Объект структуры/класса (у которого нет конструктора) можно создать с помощью списка инициализаторов. Почему это не разрешено для структуры/класса с конструктором?
struct r { int a; };
struct s { int a; s() : a(0) {} };
r = { 1 }; // works
s = { 1 }; // does not work