3

double のベクトルのベクトルのベクトルがあります。初期化してみます。以下のコード セグメント フォールト。コメント付きのコードを含めても役に立ちません (コンパイルされません)。

vector<vector<vector<double> > > Q(MAX_GRID);
for(int row = 0; row < MAX_GRID; row++) {
    //vector<vector<double> > inQ(MAX_GRID);
    //Q[row].push_back(inQ);
    for(int col = 0; col < MAX_GRID; col++)
        for(int action = 0; action <= 3; action++)
            Q[row][col].push_back(0);
}
4

2 に答える 2

2

あなたが持っているなら、std::array私は次のようなものを提案します:

std::array<std::array<std::array<double, 4>, MAX_GRID>, MAX_GRID> Q;

他の初期化は必要ありません。

于 2013-04-08T06:46:05.557 に答える