0

別のクラスのコンストラクター内でオブジェクトの std::array を初期化しようとしています。ここでは集計の初期化が機能するはずですが、適切な構文がわかりません。どうすればこれを行うことができますか?

class A {
        const int a;
public:
        A(int an_int) : a(an_int) {}
};

class B {
        std::array<A,3> stuff;
public:
        B() :
        stuff({1,2,3}) // << How do I do this?
        {}
};

int main() {
        B b;
        return 0;
}
4

1 に答える 1

4

追加のブレースが必要なだけです。

B() : stuff({{1,2,3}}) {}
            ^       ^

または、括弧を中括弧に置き換えることもできます:

B() : stuff {{1,2,3}} {}
            ^       ^
于 2015-11-15T00:04:25.377 に答える