std::array initalization with Visual Studio 2010

std::array initalization with Visual Studio 2010

本文关键字:Studio 2010 Visual initalization array std with      更新时间:2023-10-16

我在使用 Visual Studio 2010 初始化 std::array 时遇到问题。我知道使用现代编译器,我可以执行以下操作

#include <array>
class A
{
A() : arr({1,2,3,4,5,6}) {}
public:
std::array<float, 6> arr;
};

但是,Visual Studio 2010不允许这样做(因为它不完全支持C++11(。但是,我缺少另一种方式吗?

唉,不是。聚合初始化是一个C++11概念,Visual Studio 2010实现了C++03标准。

另一种方法是在类构造函数中手动构建数组。

如果你需要能够创建Aconst实例,那么在static函数中构建数组,并将内容复制到arr中。