Я пытался отлаживать кодировку (C++/Quantlib), используя вектор карт. В основном я хотел бы найти элемент внутри карты, которая, в свою очередь, внутри вектора. Но поймал ошибку.Поиск элементов внутри вектора карты с заданным ключом (C++)
вход:
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()'. – Borgleader
Что вы хотите сделать, когда найдете его? – NathanOliver
Код не имеет смысла. Почему вы выполняете цикл, если вы действуете только тогда, когда 'i == iTenor_'? Какой тип 'cds_maturities_'? –