vecteur de string static - C++ - Programmation
Marsh Posté le 23-12-2005 à 12:53:24
Citation : |
Alors là, mes pouvoirs d'ESP sont en rade ...
J'aimerais bien voir le message d'erreur
Mais bon, de têtes , tu peut pas avoir de const static qui ne sotn pas des types de bases.
Marsh Posté le 23-12-2005 à 13:38:01
c'est plutôt que la fonction d'ajout d'un élément dans un vecteur n'est pas une méthode const du vecteur et ne peut donc pas être appliquée à un vecteur constant qu'il soit statique ou non
Edit :
ce que tu voudrais, toi, c'est juste un vecteur statique, donc :
Foo.h :
Code :
|
Foo.cpp :
Code :
|
et tu auras ton vecteur statique initialisé avec trois chaines contenant "Bar"
Edit 2 :
dans ton cas, plus précisément, tu voudras sans doute faire l'initialisation comme suit :
Code :
|
Edit 3 : correction mineure
Marsh Posté le 23-12-2005 à 13:53:09
Joel F a écrit : Mais bon, de têtes , tu peut pas avoir de const static qui ne sotn pas des types de bases. |
(juste au passage : c'est totalement faux)
Marsh Posté le 23-12-2005 à 13:56:08
Merci pour cette réponse, mais dans ce cas, j'ai 3 elements identiques, mais bon ...
Si je met un vectur static dans le H
Code :
|
Et dans le CPP
Code :
|
Compilation du CPP : OK
Création d'un autre CPP pour inclure le traitement et l'appel de classe :
- Compilation OK
- [Linker error] undefined reference to 'cl_date::v_mois'
Donc, je soupsonne que le static vector <string> v_mois; n'est pas très top
Une autre suggestion peut-être
Marsh Posté le 23-12-2005 à 13:59:08
edit :
et si tu liais tes deux fichiers ensembles ?
Marsh Posté le 23-12-2005 à 14:03:11
Je suis contraint à faire:
- un H pour definition
- un CPP pour le code
- un CPP pour l'application
Le tout est lié, les obj inclus
Si je mets en commentaire les vecteurs problematiques, ça roule ...
Marsh Posté le 23-12-2005 à 14:04:27
dans ce cas, tu n'as pas mis la ligne -obligatoire- d'initialisation comme je l'ai précisé dans mes exemples
Edit :
si tu veux laisser ton tableau à vide, il faut tout de même mettre ca dans ton Foo.cpp :
Code :
|
Marsh Posté le 23-12-2005 à 14:15:08
OK ça marche bien si je fait une initialisation depuis le char *
Merci beaucoup
Marsh Posté le 23-12-2005 à 16:34:31
theshockwave a écrit : (juste au passage : c'est totalement faux) |
mon gcc 3.4 me chouine la dessus :
Code :
|
|
Marsh Posté le 23-12-2005 à 16:39:35
ReplyMarsh Posté le 23-12-2005 à 16:53:30
Code :
|
moi j'aurais fait comme ça de toutes façons.
Marsh Posté le 27-12-2005 à 10:18:35
Joel F a écrit : soit donc je vois pas pourquoi theshockwave me dis que j'ai tord |
Code :
|
Dans ce cas, l'initialisation de la donnée doit être séparée de sa déclaration
Marsh Posté le 23-12-2005 à 11:59:19
Bonjour,
Je désire faire un vecteur de string de type static pour ne pas devoir l'initialiser à chaque appel de classe, mais je suis bloqué en compilation.
Extrait de codes:
1. Fichier cl_date.h
2. Fichier cl_date.cpp
Mais voila, ça veut pas compiler si c'est un vecteur de string
J'ai tenté le même raisonnement via un tableau de string, soit
initialisé par
et rebollote
Quelqu'un aurait-il une bonne idée pour n'avoir qu'une seule initialisation (vector ou array) valable pour toutes les instantiations (d'où le static)
Merci d'avance
L.