我正在以下調試錯誤:通過的所有元素C++調試斷言失敗:地圖/套迭代器不dereferencable
for(std::map<int,IO::ctcolor>::iterator it = IO::colorTable.begin(); it != IO::colorTable.end();) {
//left out some code here, but even without it doesn't work
cout << "dummy"; //gets printed multiple times while iterating, so the map is not empty
++it;
}
的for循環遍歷:
Debug Assertion Failed!
Program: Path\To\vc\include\xtree
Line: 237
Expression: map/set iterator not dereferencable
蒙山這行代碼IO::colorTable
但在達到最後時不會停止,我可以在將數據打印到循環內的控制檯時看到此情況。
編輯:我只注意到後的for循環,我錯誤地試圖訪問it
你是否通過調試器運行它? – Huy
我注意到你在循環結尾放了一個'++ it'。你確定你還沒有在你的真實代碼中增加for(;;)語句的增量部分? – dhavenith
@Huytard visual Studio 2012 – user1950929