-
count sur un string*
Bonsoir à tous,
j'ai un string* que je souhaite parcourir:
string* toto;
.....
for(int i=0; i<count(toto); i++)
{ ....
mais le count sur un string* ne fonctionne pas:
[C++ Erreur] claCsv.cpp(76): E2285 Impossible de trouver une correspondance pour 'count<InputIterator,T,Size>(string *)'
-
Pourquoi cela devrait-il fonctionner ?
-
bonne question, d'après la fonction count() on peut passer n'importe quel type de paramètre, là je passe un tableau (pointeur).
Si cela ne marche pas, quel est le moyen de compter le nombre d'éléments d'un string*?
(sans passer par la classe vector)
-
count sert à compter les éléments d'une séquence ayant une valeur donnée, cf. là.
Si tu as juste un pointeur sur le premier élément d'un tableau de chaines (ce à quoi à l'air de correspondre ton string*), tu n'as aucun moyen de savoir le nombre d'éléments dudit tableau.
-
Ne serais-tu pas en train de confondre string et string* ? Une string est une chaine de caractères, et on peut faire :
string s = "toto";
s.size(); // ou s.length()
Un string* est un pointeur sur une chaîne de caractères (j'en ai très rarement vu l'utilité, on manipule généralement directement les strings).
-
un attribut de ma classe doit être une liste de string, je vais plutôt m'orienter vers les vector
C'est vrai que j'ai confondu avec le pointeur