创建一个非默认可初始化类型的空std ::数组

时间:2018-04-23 21:41:59

标签: c++ visual-c++ default-constructor stdarray

我有一个非默认初始化的类A,我无法修改。

如何创建包含所述类的长度为零的std :: array?

这适用于clang和gcc,但不适用于MSVC。

#include <array>

struct A {
    A(double, int) {};
};

using Empty = std::array<A, 0>;

inline const Empty GetChildren() {
    return {};
};

int main(int argc, char **argv) {
    const Empty& test(GetChildren());
    for (const auto& a : GetChildren()) {}
} 

0 个答案:

没有答案