- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vectorを引数とする関数)
vectorを引数とする関数でコンパイルエラーが発生する理由と解決方法
このQ&Aのポイント
- C++のプログラムでvectorを引数とする関数を使用していますが、コンパイルエラーが発生しています。具体的には、tmp2[1]の部分でエラーが発生しています。
- このエラーは、関数へのポインタが正しく渡されていないため発生しています。vectorをポインタとして渡す場合、ポインタのアドレスを取得する必要があります。
- 解決方法としては、func関数を以下のように修正する必要があります。 ``` double func(std::vector<double> *tmp2){ return (*tmp2)[1]; } ```
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関数funcにおいてtemp2はvectorへの「ポインタ」なのですから *を使って参照しなければなりません。 return (*tmp2)[1]; C++なので、参照渡しを使っても良いでしょう。
お礼
ありがとうございます。 解決しました。