【发布时间】:2011-12-27 15:42:43
【问题描述】:
这是我遇到问题的代码:
class Foo {
public:
Foo() :
memberArray{Bar(1), Bar(3), Bar(2)}
{}
struct Bar {
Bar(int param1) { }
};
private:
std::array<Bar,3> memberArray;
// Bar memberArray[3]; // Using a raw array like this instead compiles fine..
};
我正在使用 GCC 4.6.1,并为 c++11 进行编译。我应该如何初始化我的 std::array?
【问题讨论】:
-
@LightnessRacesinOrbit 这不是骗子......他正在尝试初始化一个成员,但该问题初始化了一个局部变量。后者可以省略大括号,但前者不能。
-
@Johannes:我从来没有说过这是一个骗局。我说这是相关的。
-
@Ligh 你没有说这是一个骗子,但你在投票支持“完全重复关闭”的 ppl 的密切投票者名单中,上面只列出了一个可能的重复项。所以我假设你同意这是一个骗局。我错过了什么吗?
-
@JohannesSchaub-litb:您错过了我评论中的问题与被欺骗投票的问题不同。