IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

dimension constante d'un tableau


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut dimension constante d'un tableau
    Bonjour à tous,

    Je me pose une question suite à une affirmation de mon livre pour apprendre le C++ :
    "La dimension d'un tableau ne peut être qu'une constante ou une expression constante entière."

    Ainsi, c'est marqué que cela ne compile pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int nel;
    cin >> nel;
    int t[nel];
    Pour faire cela il faut allouer de la mémoire dynamiquement avec l'opérateur new.


    Or sous Code Blocks un tel code compile ET fonctionne très bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    int main(){
     
    int var;
    cin >> var;
    int t[var];
    for(int i=0; i<var; i++){
    t[i]=i*i;
    cout << t[i];
    }
     
    return 0;
    }
    J'avoue ne pas comprendre pourquoi.

    Merci d'avance de m'éclaircir sur ce point,

    A plus
    Dernière modification par Flob90 ; 09/10/2011 à 16h02. Motif: Balises Code

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Par défaut
    Bonjour,

    Ton livre à raison, en C++ standard la dimension d'un tableau C-like (syntaxe type id[size]), doit être une expression constante. Mais gcc (le compilateur que tu utilises, C::B était l'ide), propose des fonctionalités supplémentaire, dans ton cas le VLA (variable length array) qui rend cette utilisation des tableaux valide. Mais ce n'est en aucun cas standard, c'est propre à gcc.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci beaucoup de ta réponse

    Je me demande alors si les prochaines normes de C++ vont rejoindre ce qu'autorise le compilateur GCC, ou est-ce que c'est vraiment très mauvais de coder comme cela même si GCC l'autorise.

    En gros, est-ce que le VLA va devenir standard aux autres compilateurs ou il vaut mieux prendre la bonne habitude de s'en passer ?

    Merci beaucoup de ta réponse en tout cas, parce que j'étais perdu entre le livre et mon code

    A bientôt

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Par défaut
    La toute dernière norme est sortie cette année et ca n'a pas changé, le mieux est de t'en passer, AMA.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Invalid character constant dans un tableau
    Par flavb83 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 29/01/2015, 20h38
  2. Tableau 2 dimensions pour les dictionnaires à constantes ?
    Par forst dans le forum GWT et Vaadin
    Réponses: 0
    Dernier message: 28/10/2011, 10h48
  3. Dimensions cellule d'un tableau
    Par cuddy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 26/08/2011, 16h26
  4. Réponses: 0
    Dernier message: 18/03/2010, 15h27
  5. Plusieurs dimensions dans un même tableau
    Par pgentils dans le forum Deski
    Réponses: 18
    Dernier message: 20/11/2007, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo