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.};
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.};
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"
Voici ce que le compilateur me fournit comme message d'erreur.
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2erreur: variable-sized object array may not be initialized
Je suppose que l'erreur, de fait, ne se situe pas à ce niveau mais à l'initialisation.
Vu que cela est possible en C++ :
ça m'intrigue qu'on ne puisse pas initialiser un tableau comme je l'ai fait dans mon post précédent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int size = 10; double array[size];
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.
j'utilise g++ avec les options suivantes :
-Wall -Wextra -Wfatal-errors -Wredundant-decls -Wunreachable-code -g -pg
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.
La taille d'un tableau doit être constante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part int const size = 10;
Ou
La bibliothèque standard offre une classe pour utiliser des tableaux dynamiques : std::vector<T>.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int size = 10; std::vector<double> v(size, 0);
http://www.cplusplus.com/reference/vector/
Bref, tout était dit par gbdivers...
Partager