- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VisualC++2005にてerror C2664と出ます。STLのpairで引数を変換できないとのことです)
VisualC++2005でerror C2664が出る問題の解決方法
このQ&Aのポイント
- VisualC++2005 Express Editionでプログラミング中にerror C2664が発生します。
- pairの引数変換で問題が発生しており、データ型の変換がうまくできないようです。
- 解決策として、データ型の変換を行う方法を試してみることをお勧めします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
具体的にdoublesPair, posValDouble, posValDoubleListを 作っている箇所を補足してください。 以下のようなテストコードは当該環境でコンパイルが通りました。 サブセット環境を作ってテストされていますか? typedef std::pair<double, double> doublesPair; typedef std::pair<doublesPair, double> posValDouble; typedef std::list<posValDouble> posValDoubleList; posValDoubleList pvdl; doublesPair d_pair; posValDouble val_double; d_pair.first = 0.5; d_pair.second = 0.6; val_double.first = d_pair; val_double.second = 1.5; pvdl.push_back(val_double); posValDoubleList::iterator pvdl_ite = pvdl.begin(); double ax = pvdl_ite->first.first; double ay = pvdl_ite->first.second; double az = pvdl_ite->second;
お礼
>hidebunさん 早速の回答ありがとうございました。 よく見てみたところ、 引数がdoublesPairの関数で (pvdl_ite->firs)という使い方に問題があり、 解決することが出来ました。 お忙しいところ親身に答えていただきありがとうございました。