1
class Bar
{
Bar( var1 v1, var2 v2 )
    {
    // setup Bar fields
    }
// bar fields
}    

class Foo
{
Foo()
    :
    mArray();// how to do this part
    {

    }
std::array<Bar, 800> mArray;
}

bar が提供するいくつかのパラメーターを受け取る ctor を使用して、この配列をいくつかの値で構築する必要があります。それらがすべて同じ値に構築されていれば問題ありません。後で適切な値を割り当てるため、初期化する必要があります。これをグーグルで検索し、さまざまな構文を試しましたが、何らかの理由で正しく取得できません。

4

2 に答える 2

1

問題はBar、デフォルトのコンストラクターがないため、std::array<Bar>どちらもありません。

デフォルトのコンストラクタを に追加するとBarstd::array<Bar>にも 1 つ追加されます。

#include <array>
using namespace std;

typedef int var1, var2;

class Bar
{
public:
Bar() {} // <--------- HERE

Bar( var1 v1, var2 v2 )
    {
    // setup Bar fields
    }
// bar fields
};    

class Foo
{
Foo()
    :
    mArray()
    {

    }
std::array<Bar, 3> mArray;
};
于 2013-07-07T17:24:09.313 に答える