Я знаю, что вопросы «почему» устарели; Мне интересно, есть ли техническая причина, по которой auto
не может определить типы элементов массива. Простой пример:
auto arr[] {1}; // does not compile
Вывод типа работает для аналогичного косвенного обращения, указатели:
int i;
auto *p { &i }; // compiles
Оба вывода кажутся одинаково выполнимыми для простых случаев (и должны сталкиваться с аналогичными проблемами, если таковые имеются, для сложных типов). Чего мне не хватает?