• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C++ 構造体型のvector配列でエラーがでます)

C++構造体型のvector配列でエラーが発生する

このQ&Aのポイント
  • C++の構造体型のvector配列を関数に渡し、ソートを行う際にエラーが発生しています。
  • 具体的には、配列内の要素の比較や値の入れ替えの処理でエラーが出力されています。
  • 正しい処理の方法や修正方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

> if(v[j].a > v[k].a){j = k;}//ここのaに対して、エラーがでます v[j]はvector<FUKUSOSU>なので、aというメンバーはないのでは? このコードからすると、vはvector<FUKUSOSU>の配列ではなく、vector<FUKUSOSU>なんじゃないですか? そうであれば、 > int sort(vector<FUKUSOSU> v[], int N){ の部分の[]はいりません。ただ、このままだとvは引数として渡されたvector<FUKUSOSU>のコピーになるので、ソートしても元のvector<FUKUSOSU>は何の影響も受けません。なので、vector<FUKUSOSU>& vと参照にすればいいんじゃないでしょうか。

qwsfgh
質問者

お礼

まさにその通りでした。ありがとうございました。