• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VisualC++2005にてerror C2664と出ます。STLのpairで引数を変換できないとのことです)

VisualC++2005でerror C2664が出る問題の解決方法

このQ&Aのポイント
  • VisualC++2005 Express Editionでプログラミング中にerror C2664が発生します。
  • pairの引数変換で問題が発生しており、データ型の変換がうまくできないようです。
  • 解決策として、データ型の変換を行う方法を試してみることをお勧めします。

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

  • ベストアンサー
  • hidebun
  • ベストアンサー率50% (92/181)
回答No.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;

yyy-yyy---
質問者

お礼

>hidebunさん 早速の回答ありがとうございました。 よく見てみたところ、 引数がdoublesPairの関数で (pvdl_ite->firs)という使い方に問題があり、 解決することが出来ました。 お忙しいところ親身に答えていただきありがとうございました。

関連するQ&A

専門家に質問してみよう