Pergunta

Ao executar meu programa, recebo este erro:

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

Eu sei que você não pode fazer muito sem o código, mas acho que esse erro está muito profundo no código para copiar tudo. Talvez eu possa descobrir se eu entender o que esse erro significa. Isso é um sinal para um problema com a leitura ou a escrita no endereço de memória errado?

Existe algo que eu possa fazer para obter mais informações sobre o problema do meu programa?

Foi útil?

Solução

Isso significa que você tentou criar uma string maior que o std :: string :: max_size ().

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

Uma exceção da classe Type Length_error é lançada quando uma operação produz uma corda com um comprimento maior que o tamanho máximo.

Outras dicas

Eu sei que essa é uma pergunta antiga, mas eu apenas encontrei o mesmo problema. Usando Linux com GCC.

Desmontar a função mostrou muitos saltos no código, onde a exceção foi lançada, o que não deveria estar lá. No final, uma construção limpa resolveu o problema para mim.

Este é um erro no modo de depuração com o VS2005. Quando eu o altero para o modo de liberação, tudo funciona.

Bem, o tempo de execução do VC Debug causa isso, isso é tudo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top