template<auto> struct val {};
template<typename... types> struct type: types... {};
template<typename... types> auto func(type<types...>) {}
int main() {
func(type{val<'\0'>{}, val<0>{}, val<0.>{}}); // работает
func({val<'\0'>{}, val<0>{}, val<0.>{}}); // не работает
}
Почему оно не смогает? Этому есть какие-то объяснения?




