2017-02-19 9 views
-1

これは私の初めての投稿です。何か間違っているとすみませます。2次元ベクトルからランダム座標を選択する必要があります

私が問題を抱えているのは、2次元ベクトルから座標を取り出すことです。 コードは次のようになります。

allMovesは2次元の座標ベクトルであるとしましょう。

int vectorSize = allMoves.size(); 
int r = rand() % vectorSize; 
vector<Coordinate> finalList = allAiMoves[r]; // error here 

int finalListSize = finalList.size(); 
int t = rand() % finalListSize; 

私が達成しようとしているのは、まずベクトル内のランダムなベクトルを選択することです。そのベクトルを新しいベクトルに適用し、そこからランダムな要素を選択します。しかし、私のコードは、指定された場所で私にエラーを与えます。

+3

具体的にどのようなエラーが表示されますか?範囲外アクセス?あなたの質問を理想的に編集し、問題を再現する[MCVE]を提供してください。 –

+2

[mcve]を使ってより良い回答を得る。 'allMoves'を意味するときに' allAiMoves'と誤って入力したのではないことを知るために、少なくともエラーが発生したことを教えてください。 – nwp

+0

はい、私はallMovesを意味しました。 Qtを使用しています。私が得ているエラーは次のとおりです。 非スカラー型 'std :: vector 'への '___ gnu_cxx :: __ aloc_traits > :: value_type {aka Coordinate}'からの変換 – Arcana

答えて

0

整数rは、ベクトルallMovesを指します。したがって、コードスニペットの3行目は次のようになります。

vector<Coordinate> finalList = allMoves[r]; 

コンパイルエラーがあるようです。 this questionを見ると、ベクトルのベクトルの例を見つけることができます。

+0

私はちょうどそれを間違って書いた。それはどちらにでもある。 – Arcana

+0

私はまだ同じエラーが発生しています。 :) – Arcana

関連する問題