Определяемое пользователем руководство по дедукции для стандартных типов
По какой-то причине по-прежнему отсутствует ожидаемый CTAD для std::initializer_list
in clang :
std::initializer_list l{1,2,3}; // error in clang
Добавление определяемого пользователем руководства, подобного следующему, может решить проблему :
namespace std {
template<class T>
initializer_list(const initializer_list<T>&) -> initializer_list<T>;
}
Но можно ли добавить определяемое пользователем руководство по CTAD для std::
типов?
Ответы
5 Oliv
Добавление руководства по дедукции к стандартному типу библиотеки - UB [namespace std] §4.4 :
Поведение программы на C ++ не определено, если она объявляет: [...]
- руководство по вычету для любого стандартного шаблона класса библиотеки.