Valami ilyenre gondoltam. Mondjuk az már magyaráz valamit, hogy az sem megy, hogy
std::vector a = {1, 2, 3, 4};
csak úgy, hogy
std::vector<int> a = {1, 2, 3, 4};
ami persze array-ra szar, mert akkor be kell írnom külön a méretét is. Azt hiszem, elvileg a c++23 szerint meg lehetne csinálni két lépcsőben,
constexpr std::initializer_list<int> ai = {1, 2, 3, 4};
std::array<int, ai.size()> a = ai;
de a régebbi szabvány (és az én compilerem által részben támogatott, draft c++23) szerint az initializer_list nem lehet constexpr-ben.