VS2005 SP1의 디버그 구성에서 컴파일 된 아래 코드는 "ITERATOR LIST CORRUPTED"알림 메시지를 보여줍니다. 그것은 컴파일러 또는 표준 라이브러리의 버그std :: string 생성자에서 오류가 발생한 ITERATOR 목록
코드 조각
#define _SECURE_SCL 0
#define _HAS_ITERATOR_DEBUGGING 0
#include <sstream>
#include <string>
int main()
{
std::stringstream stream;
stream << "123" << std::endl;
std::string str = stream.str();
std::string::const_iterator itFirst = str.begin();
int position = str.find('2');
std::string::const_iterator itSecond = itFirst + position;
std::string tempStr(itFirst,itSecond); ///< errors are here
return 0;
}
인가?
VS2008에서도 마찬가지입니다. 매혹적인. – avakar
gc와의 신속한 테스트를 위해 codepad.org 사용을 고려하십시오. http://codepad.org/mXXYxf99 이것은 분명히 windows/visual 스튜디오 버그입니다. 그것을보고하십시오. –