Подтвердить что ты не робот

В чем смысл этой ошибки С++ std:: length_error

При запуске моей программы я получаю эту ошибку:

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

Я знаю, что вы не можете многое сделать без кода, но я думаю, что эта ошибка слишком глубока в коде, чтобы скопировать все это. Может быть, я смогу понять это, если я пойму, что означает эта ошибка. Является ли это признаком проблемы с чтением или записью на неправильном адресе памяти?

Есть ли что-то, что я могу сделать, чтобы получить дополнительную информацию о проблеме из моей программы?

4b9b3361

Ответ 1

Это означает, что вы пытались создать строку больше std::string:: max_size().

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

Исключение типа length_error Class бросается, когда операция создает строка с длиной, большей максимальный размер.

Ответ 2

Я знаю, что это старый вопрос, но я столкнулся с одной проблемой. Использование Linux с gcc.

Разборка функции показала много переходов в коде, где было выбрано исключение, которого не должно быть. В конце концов, Clean Build решила проблему для меня.

Ответ 3

Это ошибка в режиме отладки с VS2005. Когда я меняю его на режим выпуска, все работает.

Ну, время выполнения отладки vc вызывает это, что все.