Partage
  • Partager sur Facebook
  • Partager sur Twitter

Que signifie cette exception ?

basic_string::_S_construct NULL not valid

Sujet résolu
14 juillet 2007 à 14:59:07

Bonjour,

Lorsque je lance mon programme, celui-ci se termine immédiatement avec l'erreur suivante, que je ne saisis pas bien :
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct NULL not valid
Abandon (core dumped)

Pour le coup, Google n'a pas du tout été mon ami... A noter qu'aucune partie de mon code n'envoie d'exception du type std::logic_error...
Quelqu'un peut-il m'expliquer précisemment ce que cela signifie ?
Merci !
  • Partager sur Facebook
  • Partager sur Twitter
14 juillet 2007 à 15:25:32

Tu n'aurais pas contruit une std::string à partir de 0 au lieu de "" ?
  • Partager sur Facebook
  • Partager sur Twitter
C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
14 juillet 2007 à 15:35:58

Non j'ai malencontreusement construit une string à partir de NULL ! Je viens de trouver l'anomalie, merci quand même !
  • Partager sur Facebook
  • Partager sur Twitter
14 juillet 2007 à 15:55:03

0 == NULL ...
  • Partager sur Facebook
  • Partager sur Twitter
C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
15 juillet 2007 à 11:40:51

( en effet, NULL n'est à quelques exceptions près peut-être qu'un simple #define pour 0 )
  • Partager sur Facebook
  • Partager sur Twitter
18 août 2019 à 19:26:57

j'ai eu le meme problème que toi merci aux gens qui ont répondu en soit c'est une erreur bete mais qui peut arriver ;)
  • Partager sur Facebook
  • Partager sur Twitter
18 août 2019 à 19:37:19

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération
  • Partager sur Facebook
  • Partager sur Twitter

Pas d'aide concernant le code par MP, le forum est là pour ça :)