- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C++ 構造体型のvector配列でエラーがでます)
C++構造体型のvector配列でエラーが発生する
このQ&Aのポイント
- C++の構造体型のvector配列を関数に渡し、ソートを行う際にエラーが発生しています。
- 具体的には、配列内の要素の比較や値の入れ替えの処理でエラーが出力されています。
- 正しい処理の方法や修正方法を教えてください。
- みんなの回答 (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と参照にすればいいんじゃないでしょうか。
お礼
まさにその通りでした。ありがとうございました。