どーも、バグが取れない!
Dump() で正常な値が表示できない!
ナゼ「ぬるぽ」が発生するんだぁぁぁ!!!!
と4時間ぐらい(実は5時間ぐらい?^^;)悩んでました。
それが以下のコード(擬似コードですが)。
さぁ、何処に問題があるでしょー?
(回答は下のほうに)
void Q::Dump() const { ir9::OutputDebugStringF( _T("\n----- Q [size = %d] -----\n"), m_stlCountList.size()); TCountListCIt itEnd = m_stlCountList.begin(); for(TCountListCIt it = m_stlCountList.end(); it != itEnd; ++it) { const TCountListType& sPair = *it; ir9::OutputDebugStringF( _T("type : %s\tcount : %d\n"), g_cGenerateType.cast(sPair.second), sPair.first); } } void Q::Insert(CUINT nCount, CINT nPriority) { m_stlCountList.push_back( TCountListType(nCount, nPriority)); Dump(); }
……ね。もうね。
コードがテンパってますよね。ハハハハハハハ.... orz
----------------------------------------
答え
itEnd = m_stlCountList.begin();
it = m_stlCountList.end();
この状態で for ループとな…。
end から begin に ++ していくって…終わらないじゃん!ヽ(`Д´)ノ