Message d'erreur

Résolu
Bonjour,
en codant la ligne

char texte[lgr] = '.';


en C++, le message d'erreur suivant apparaît:

error: ISO C++ forbids variable length array 'texte' [-Wvla]|

quelqu'un peut-il me dire ma faute? ;)

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Simple quotes ' c'est pour un char
    Double quotes " c'est pour un tableau de char (une chaine de caratères)

    Si tu déclare+initialise un tableur, tu ne peux pas lui assigner juste un caractère.

    1. Bonjour, en fait j'ai déjà initialisé un string, nommé " texte ", ensuite je voudrais lui ajouter un caractère, le " . " en définissant " texte[lgr] " de type char, avec " lgr " représentant le nombre de caractères du string.
      Est-ce la bonne méthode?
    2. Contributeur
      @Vokingbonjour, si tu as déjà déclaré texte (comment?), inutile de le déclarer à nouveau.
    3. Bonjour, j'ai déclaré " texte " de type string en amont, et je voulais introduire un nouvel élément dans celui-ci, qui se grefferait en dernière position. J'ai donc fait la supposition que c'était un élément de type char, et que sa position serait " lgr ", ce qui justifierait le nom " texte[lgr] " ...
    4. Contributeur
      @Vokingje ne comprends pas dans quel but tu fais une déclaration. si tu veux faire une assignation, inutile de commencer avec un type.
      modifies-tu un caractère dans la string texte, ou bien l'allonges-tu?
      moins tu montres ton code, moins nous pouvons t'aider.
    5. @yg_beLe problème a finalement été résolu, désolé du dérangement :/ voici tout de même le screen du code, si vous y tenez. Mais je comprends mon erreur: il suffisait d'allonger le string et non déclarer un char supplémentaire à insérer dedans.