Я создаю итераторы:
typename Report::container_type_for_processed_files::const_iterator beg = rep.processed_files().begin();
typename Report::container_type_for_processed_files::const_iterator end = rep.processed_files().end();
мой класс Report выглядит:
class Report
{
public:
typedef std::map<boost::filesystem3::path,
std::pair<unsigned long long/*code*/,
unsigned long long/*comment*/> > container_type_for_processed_files;
container_type_for_processed_files processed_files()const;
private:
container_type_for_processed_files processed_files_;
};
Обработанные файлы в cpp выглядят так:
typename Report::container_type_for_processed_files Report::processed_files()const
{
return processed_files_;
}
, но послеинициализация итераторов, как показано в первых строках:
typename Report::container_type_for_processed_files::const_iterator beg = rep.processed_files().begin();
typename Report::container_type_for_processed_files::const_iterator end = rep.processed_files().end();
while (beg != end)
{
qDebug() << beg->first.c_str();//here I'm getting runtime error
fout << "File name: " << (beg->first).c_str();
++beg;
}
Я получаю ошибку: неверный параметр передан в функцию времени выполнения C.
Я также получаю сообщения на панели вывода при попытке инициации итераторов:
(Внутренняя ошибка: pc 0x201 в readm в psymtab, но не в symtab.)
Что происходит?