0

いくつかの QString 単語を配列に入れたいのですが、どうすればよいかわかりません。私はこのようにベクトルを試してみました:

int i = 10;
int j = 10;
QVector < QVector < QString> > tableau;
QString word = "Word";
tableau[i][j] = word;

しかし、それはうまくいきません。これはエラーメッセージです:

ASSERT failure in QVector<T>::operator[]: "index out of range"

ああ、std::vector と std::string を試してみましたが、これはうまくいきません

2 次元の文字列配列を作成して単語を配置する方法を説明してもらえますか

4

1 に答える 1

1

テーブルを作成しようとしていると仮定すると(これQVector<QVector<T>>は最良の選択ではありません)、最初に初期化する必要があります。

何かのようなもの:

QVector<QVector<QString>> CreateTableau(int sizeX, int sizeY)
{
   QVector<QVector<QString>> result;
   for (int idx1 = 0; idx1 < sizeX; idx1++)
   {
      result.append(QVector<QString>());
      for (int idx2 = 0; idx2 < sizeY; idx2++)
      {
         result[idx1].append(QString());
      } 
   }
   return result;
}

次に、次のように呼び出します。

int i = 10;
int j = 10;
QVector<QVector<QString>> tableau = CreateTableau(100, 100); //TODO: replace with appropriate sizes.
QString word = "Word";
tableau[i][j] = word;
于 2016-08-17T21:02:59.960 に答える