私が作成していイテレータ:奇妙な行動やSTD ::マップ:: const_iteratorの
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();
私のレポートクラスが見えます:cppの中
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_;
};
処理されたファイルは、次のようになります。
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ランタイム関数に渡されました。イテレータを初期化しようとすると
私はまた、出力ペインにメッセージを取得しています:
(内部エラー:なくSYMTABで、psymtabに読んでPCの0x201です。)
何が起こっているの?
'qDebug'は何ですか? –
また、最小限のテストケースを作成することを検討してください(http://sscce.orgを参照)。 –
@OliCharlesworthデバッグの目的でQtによって提供される出力ストリーム。 –