为什么libc++不支持在多集上推导类模板参数?
Why does libc++ not support class template argument deduction on multiset?
#include <set>
int main()
{
auto coll = std::multiset{ 1, 2, 2, 3, 4, 4, 7 };
}
上面的代码可以通过vc++ 2019
和g++ 9.0
编译,但不能由clang++ 8.0
编译为clang++ -std=c++2a -stdlib=libc++ main.cpp
为什么libc++不支持在多集上推导类模板参数?
因为直到最近才有人实现它。
这些功能不会自行编写,不同的项目会优先考虑不同的事情。
您当然可以自由地加入该项目并贡献您认为缺少的任何功能!
这已在即将发布的 clang 9 版本中实现。
相关文章:
- 警告:忽略模板参数上的属性..在 std::unique_ptr (-wignore 属性)的声明中
- GTest - 在不同的参数上运行多个测试用例
- 还有另一个类模板专业化(在布尔参数上)
- 编译器在 const ref 类型参数上使用临时对象时是否应该警告不安全的行为?
- 在第一个参数上部分专用化模板
- 如何在布尔值 true 参数上使用函数更改数组的值
- 不明确的重载函数仅在参数的模板参数上有所不同
- 编译器忽略函数参数上的'const'
- GCC警告的含义:忽略模板参数上的属性(-Wignored属性)
- 无法在隐式构造的参数上推断模板参数
- 在可变参数模板参数上实现数学补码逻辑
- 在C 默认指针参数上删除
- 在spirit parser Action中,在上下文参数上编译boost :: bind(成员函数)上的错误
- 在默认模板“函数参数”上
- 在函数声明和参数上使用引用意味着什么
- 无论如何,模板参数上是否有decltype
- 我应该总是在“sink”构造函数或setter参数上移动
- 是否可以通过模板参数上的条件排除模板成员变量
- 如何在两个参数上使用偏专业化
- 变分模板在多个参数上给出错误