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 :

initialisation de tableaux


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 421
    Par défaut initialisation de tableaux
    Bonjour à tous,

    Pourriez vous m'expliquer s'il vous plaît pourquoi cette initialisation de tableau ne fonctionne pas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int size = 10;
    double array[size] = {0.};

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Bonjour

    "Ne fonctionne pas" n'est pas un message d'erreur valide retourné par un compilateur C++. Quand on a une erreur, il faut la donner

    Sinon, il y a 2 choses qui me gène dans ton code :
    * un tableau style-C prend une taille constante. Utilise std::vector si tu veux une taille variable (et utilise std::array si c'est supporté par ton compilateur) ;
    * il manque un point-virgule à la fin de la seconde ligne ;
    * perso, j'aime pas la notion des réels de cette façon : "0.", je préfère ajouter au moins 1 décimale (il est facile de louper le point) "0.0"

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 421
    Par défaut
    Voici ce que le compilateur me fournit comme message d'erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    erreur: variable-sized object ‘array’ may not be initialized
    Cependant il me semble qu'un tableau style-C peut prendre une taille variable comme argument en C++. C'est aussi possible en C mais ça dépend du compilateur.
    Je suppose que l'erreur, de fait, ne se situe pas à ce niveau mais à l'initialisation.
    Vu que cela est possible en C++ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int size = 10;
    double array[size];
    ça m'intrigue qu'on ne puisse pas initialiser un tableau comme je l'ai fait dans mon post précédent.

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Quel compilo utilises-tu, avec quel option de standard?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 421
    Par défaut
    j'utilise g++ avec les options suivantes :
    -Wall -Wextra -Wfatal-errors -Wredundant-decls -Wunreachable-code -g -pg

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Essaie avec -std=c++03 (le standard choisi par défaut par g++ est gnu++03)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Membre Expert Avatar de Ehonn
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    788
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 788
    Par défaut
    La taille d'un tableau doit être constante.

    Ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int size = 10;
    std::vector<double> v(size, 0);
    La bibliothèque standard offre une classe pour utiliser des tableaux dynamiques : std::vector<T>.
    http://www.cplusplus.com/reference/vector/

    Bref, tout était dit par gbdivers...

Discussions similaires

  1. [CR 9] Initialisation de tableaux avec l'ensemble des enregistrement
    Par linger dans le forum Formules
    Réponses: 8
    Dernier message: 18/06/2009, 20h23
  2. De l'initialisation des tableaux dynamiques de Record
    Par metanil dans le forum Langage
    Réponses: 13
    Dernier message: 03/01/2008, 16h54
  3. initialisation de tableaux et recupération d'un element
    Par crazykangourou dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 24/10/2007, 14h23
  4. [debutant] declaration et initialisation de tableaux
    Par harsh dans le forum Débuter
    Réponses: 12
    Dernier message: 18/03/2005, 23h39
  5. Initialisation de tableaux
    Par bradley vier dans le forum C++
    Réponses: 11
    Dernier message: 02/03/2005, 13h53

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