【发布时间】:2015-04-14 15:47:05
【问题描述】:
我试图使用地图向量调试编码(C++ / Quantlib)。基本上我想在地图内找到一个项目,该项目又在一个向量内。但发现错误。
输入:
vector<map <Date, Real> > simulatedPrices_; // a vector containing 1000 maps
vector<Date> cds_maturities_;
私有变量:
map <Date, Real> pricePathJ; // for reading each map in the vector
Real w_t_; //
编码:
for (int j = 0; j < no_of_paths; j++) {
pricePathJ = simulatedPrices_[j];
for (int i = 0; i <= iTenor_; i++) { //iTenor is the number of element inside vector cds_maturities_
startDate = ......;
endDate = ......;
w_t_ = pricePathJ.find(cds_maturities_[i]); // error in pricePathJ saying there is no conversion function from iterator ... the pair<Date, Real> to Real.
......
我是否犯了任何错误,或者在上面的编码中我是否忽略了任何指针类型?谢谢。
备注:变量类型Real类似于Double类型
【问题讨论】:
-
w_t_的类型是什么?如果它不是一个很好地解释您的错误的迭代器,因为那是find()返回的内容。 -
找到后想做什么?
-
代码没有意义。如果你只在
i == iTenor_时采取行动,为什么还要循环?cds_maturities_是什么类型? -
对不起,我错过了这个编码的细节。 w_t_ 实际上是“Real”类型(类似于“Double”类型)。我想找到键(日期)和地图返回我的项目(真实)(以便我可以使用该值进行其他计算)。所以我必须将 w_t_ 更改为类型 vector
标签: c++ visual-studio pointers vector quantlib