出于某种原因,仍然缺乏预期的CTAD为 std::initializer_list
在 clang :
std::initializer_list l{1,2,3}; // error in clang
添加如下所示的用户定义指南可以 fix the issue :namespace std {
template<class T>
initializer_list(const initializer_list<T>&) -> initializer_list<T>;
}
但是是否允许为 std::
添加用户定义的 CTAD 指南?类型?
最佳答案
向标准库类型添加推导指南是 UB [namespace std]§4.4 :
The behavior of a C++ program is undefined if it declares : [...]
- a deduction guide for any standard library class template.
关于c++ - 用户定义的 std 类型推导指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63424573/