Pregunta

Mientras ejecuta mi programa, recibo este error:

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

Sé que no puedes hacer mucho sin el código, pero creo que este error es demasiado profundo en el código para copiar todo. Tal vez pueda resolverlo si entiendo lo que significa este error. ¿Es esto un signo para un problema con la lectura o la escritura en la dirección de memoria incorrecta?

¿Hay algo que pueda hacer para obtener más información sobre el problema de mi programa?

¿Fue útil?

Solución

Significa que intentó crear una cadena más grande que std :: string :: max_size ().

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

Se lanza una excepción de la clase de longitud_error de tipo cuando una operación produce una cadena con una longitud mayor que el tamaño máximo.

Otros consejos

Sé que esta es una pregunta antigua, pero me encontré con el mismo problema. Usando Linux con GCC.

Desmontaje de la función mostró muchos saltos en el código, donde se lanzó la excepción, lo que no debería estar allí. Al final, una construcción limpia resolvió el problema para mí.

Este es un error en el modo de depuración con VS2005. Cuando lo cambio al modo de liberación, todo funciona.

Bueno, el tiempo de ejecución de depuración de VC causa esto, eso es todo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top