Потому что компилятор должен выдавать диагностику (в вашем случае ошибка) для сужения только за инициализация списка (А.к.а. равномерная инициализация), введено начиная с C ++ 11. Для инициализации до C ++ 11 без фигурных скобок диагностика не требуется.
Увидеть cppreference.com документация для более подробной информации.
Также см этот ответ почему компилятор должен выдавать только предупреждение, а не ошибку.