Message d'erreur [Résolu/Fermé]

Signaler
Messages postés
21
Date d'inscription
dimanche 14 avril 2019
Statut
Membre
Dernière intervention
13 octobre 2019
-
Messages postés
21
Date d'inscription
dimanche 14 avril 2019
Statut
Membre
Dernière intervention
13 octobre 2019
-
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

Messages postés
14683
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
3 août 2020
241
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.

J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
Messages postés
21
Date d'inscription
dimanche 14 avril 2019
Statut
Membre
Dernière intervention
13 octobre 2019

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?
Messages postés
11732
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 août 2020
671 >
Messages postés
21
Date d'inscription
dimanche 14 avril 2019
Statut
Membre
Dernière intervention
13 octobre 2019

bonjour, si tu as déjà déclaré texte (comment?), inutile de le déclarer à nouveau.
Messages postés
21
Date d'inscription
dimanche 14 avril 2019
Statut
Membre
Dernière intervention
13 octobre 2019

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] " ...
Messages postés
11732
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 août 2020
671 >
Messages postés
21
Date d'inscription
dimanche 14 avril 2019
Statut
Membre
Dernière intervention
13 octobre 2019

je 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.
Messages postés
21
Date d'inscription
dimanche 14 avril 2019
Statut
Membre
Dernière intervention
13 octobre 2019
>
Messages postés
11732
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 août 2020

Le 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.