Инициализация std::array в C++20

Подскажите, пожалуйста, почему в C++20 (не знаю, как в других версиях) не работает следующий код?

    #include <iostream>
    #include <array>

    struct Car
    {
        std::string make{};
        std::string model{};
    };

    int main()
    {
        // error: too many initializers for ‘std::array<Car, 3>’
        std::array<Car, 3> cars = {{"1", "11"}, {"2", "22"}, {"3", "33"}};

        return 0;
    }

Вместо этого я должен использовать uniform-инициализацию:

    std::array<Car, 3> cars {{{"1", "11"}, {"2", "22"}, {"3", "33"}}};

Хотя если брать массив не структур, и фундаментального типа, то всё работает:

    #include <iostream>
    #include <array>

    int main()
    {
        // объявление std::array<int, 2> nums {{3, 4}}; тоже работает
        std::array<int, 2> nums = {3, 4};

        return 0;
    }

Ответы (0 шт):