-1
から位置を特定するのではなく、値で要素を削除すると、各四角形には可能な値のセットと行番号と列番号が与えられます。スコークのゲームボード用の実装の一部として、平方ベクトル
これは可能な値の集合を持つ方形ベクトルによって行いました。ここでは、ある値が可能な値の集合から削除され、同じx値とy値、またはループのための二重の
vector< vector< std::set <int> > > gameboard;
..:同じsubsquare)
私がいる問題は、私はセットから特定の値を削除する方法がわからないですが、私はそれがこのように設定していましたグリッドを循環させるためにここに...
int removeValue = *gameboard[x][y].begin();
gameboard[x][y].erase(removeValue);
しかし、私はベクトルのどの位置で値を取り除いているのかは確かですが、これは私が望むものではありません。何か案は?
うん。あなたはもう正方形を持っていません。あなたが設定してテストできるセンチネルとして、不可能な値を使うことをお勧めします。 – user4581301
私はあなたがセットを反復しようとは決して知りませんでしたが、反復子を逆転させているので、セットのbegin()== end()ならUBを得ることができます。 –