std::array 初始化 Visual Studio 2010

std::array initalization with Visual Studio 2010

我在使用 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 标准。

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

如果您需要能够创建 constA 的实例,那么在 static 函数中构建数组,然后将内容复制到 arr .