Bonjour à tous,
je crée un programme qui à besoin d'un nombre de variable du style int a[b] ou b doit être un int ou autre dont la valeur va varier.
J'ais essayé ceci :
int a = 5;
int b[a]; -> erreur
Merci d'avance pour votre aide!
Bonjour à tous,
je crée un programme qui à besoin d'un nombre de variable du style int a[b] ou b doit être un int ou autre dont la valeur va varier.
J'ais essayé ceci :
int a = 5;
int b[a]; -> erreur
Merci d'avance pour votre aide!
bien le bonjour,
pour cela, il faut de l'allocation dynamique
attention, tu parles de faire varier la taille de la structure.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int a = 5; int *b; b = new int[a];
si d'un coup du changes la valeur de a, b restera quand même le même.
C'est pourquoi, ça peut être intéressant d'utiliser un std::vector<int>. Avec lui, tu ne t'occupes plus de la gestion mémoire.
Merci khayyam90,
c'est qui me fallait![]()
Les VLA (Variable Length Arrays, (c'est que tu cherches à utiliser), ne sont disponibles qu'en C99 et avec les compilateurs C++ permissifs).
La solution C++, ce sont les vecteurs. Boost propose un tableau à taille fixable dynamiquement lors de la contruction, mais non redimensionnable.
Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
Je reviens sur ce sujet car j'ais un probléme très similaire :
j'aimerais faire cela :
int a = 5;
TStringList *Groupe;
Groupe = new TStringList[a]; -> erreur
merci d'avance pour votre aide.
Le compilateur ne m'indique pas d'erreur, l'execution du programme plante.
J'utilise C++ Builder 5.
Excusez moi je viens de trouver mon erreur![]()
elle était un plus loin dans le code, pas à l'endroit ou le compilateur indiqué.
Il n'y a pas d'erreurs dans ces 3 lignes, poste ton code entier.
Partager