문제

내 프로그램을 실행하는 동안이 오류가 발생합니다.

terminate called after throwing an instance of 'std::length_error'
  what():  basic_string::_S_create
Abort trap

코드 없이는 많이 할 수 없다는 것을 알고 있지만이 오류는 코드에 너무 깊어서 모든 것을 복사 할 수 없습니다. 이 오류가 무엇을 의미하는지 이해하면 알아낼 수 있습니다. 이것은 잘못된 메모리 주소에서 읽거나 쓰는 문제에 대한 신호입니까?

내 프로그램의 문제에 대한 자세한 정보를 얻기 위해 할 수있는 일이 있습니까?

도움이 되었습니까?

해결책

그것은 당신이 std :: string :: max_size ()보다 큰 문자열을 만들려고했음을 의미합니다.

http://msdn.microsoft.com/en-us/library/as4axahk(vs.80).aspx

유형 길이 _error 클래스를 제외하고 작업이 최대 크기보다 큰 길이의 문자열을 생성 할 때 발생합니다.

다른 팁

나는 이것이 오래된 질문이라는 것을 알고 있지만 나는 단지 같은 문제에 부딪쳤다. GCC와 함께 Linux 사용.

이 기능을 분해하면 코드에서 예외가 발생 된 코드에서 많은 점프가 나타났습니다. 결국, 깨끗한 빌드가 문제를 해결했습니다.

이것은 VS2005의 디버그 모드에서 오류입니다. 릴리스 모드로 변경하면 모든 것이 작동합니다.

글쎄, VC 디버그 런타임은 이것을 일으킨다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top