je veux passer à travers une string (sans la modifier) pour extraire certaines infos
le code suivant compile:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
bool verifyString (string theString) {
    string::iterator start = theString.begin();
    string::iterator end   = theString.end();
    while (start < end) {... start++ ...}
par contre si j'indique que je passe une string constante dans la fonction:
bool verifyString (const string theString) {...

le compilateur m'indique:
error: conversion from ‘std::basic_string<char>::const_iterator ... to non-scalar type ...

Donc le compilateur considère que j'essaie de modifier une constante en utilisant un iterator!
Pourquoi ?
Est-ce mieux de faire une copie?, d'utiliser une boucle avec un size_t: for (int i = 0; i < theString.length(); i++)...
ou de ne pas passer la string comme constante?