22 組の int (グリッド内の位置) を保持する変数が必要なので、行列配列を考えていました。したがって、私のヘッダーファイルは次のとおりです。
int points[22][2];
しかし、オブジェクトのコンストラクターに次を入れると:
this->points = {{1,2},{2,3},...};
「式は変更可能な左辺値である必要があります」と表示されます ここで説明されているように、 const キーワードを使用してヘッダーファイルのポインターにしようとしました式は変更可能なL値でなければなりません
また、別の 2 次元配列を作成して割り当てようとしましたが、これも機能しません。
int points2 = {{1,2},{2,3},...};
this->points = points2;
私は Java には慣れていて、C++ の経験はあまりありません。上記のように値を割り当てるデフォルトのコンストラクターと、マトリックスをパラメーターとして持つコンストラクターがあります。
以下は機能します:
this->point[1][1] = 4;
しかし、これは別の値をパラメーターとして渡すことができず、デフォルトのコンストラクターで 44 行のコードが乱雑になることを意味します。そして、私は2つのintを持つ構造体を使用し、それらをベクタープットに入れましたが、これは少しやり過ぎのように見え、手動の値でコンストラクターを呼び出す前に22のベクター挿入が必要であることを意味します。より良い方法になります:)
ありがとう