在VS2019中使用大括号初始化使用一个元素初始化向量时崩溃



以下代码在标准库内部崩溃:

#include <set>
#include <vector>
struct Parent
{
std::set<int> v;
};
struct Child : public Parent
{
Child() = default;
};
int main()
{
std::vector<Child> v{ {} };
}

但是如果构造函数被显式声明(without=default(,它就不会崩溃。我不明白为什么。我正在使用VS2019。

我查阅了代码,它确实在Visual Studio 16.7.7中发生了。现在,它似乎在VS 16.8.3和g++(Ubuntu 9.3.0-17ubuntu1~20.04(9.3.0(尝试使用-std=c++14(中都运行良好,这是一个错误,微软团队似乎在最近的更新中修复了这个错误。

最新更新