Voilà, je viens vers vous car cela fait quelques heures que je recherche la solution. Voilà, je reprend l'étude du C++ via les tutoriel de ce site mais je me retrouve bloqué à un moment.
Voilà, je commence à rejouer avec les vecteurs afin de réalisé le petit jeu du mot mystère, tout ce passe à merveille sauf au moment où je souhaite faire l'affichage de mon menu via les vecteurs et l'instruction cout.
Voici l'instruction qui me pose problème:
for (int i = 0; i < (int)mName.size(); i++)
{
//cout << i << "\n";
cout << mName[i] << "\n";
}
Pour être plus précis, c'est à la ligne: cout << mName[i] << "\n"; qui pose problème. En faite la variable mName est un vecteur de type string don voici la définition dans mon fichier de code comme vecteur globale: vector<string> mName;
Mon compilateur me trouve donc une erreur (cf: photo en dessous) que je ne comprend pas et que je n'arrive pas à corriger alors que tout le reste du code fonctionne à merveille.
J'ai essayer de faire un cast en utilisant la ligne cout << (char)mName[i] << "\n"; mais cela ne sert à rien non plus.
J'espère que vous saurez rapidement m'aider à régler ce petit problème.
A priori, ca devrait fonctionner, le code semble correct. Tu n'aurais pas oublié les include de iostream ou de string ?
Et sinon, n'utilises pas "using namespace std". Et preferes les range for loop pour parcourir un tableau complet
for (auto const& name: nName)
{
std::cout << name << std::endl;
}
Et "mName" n'est probablement pas un bon nom de variable, on ne sait pas que c'est un tableau. "mNames" par exemple serait mieux, pour montrer que c'est plusieurs noms.
Par contre je ne comprend pas ce que tu veux dire par ta boucle for, en faite, je ne comprend pas trop à quoi peu servir la ligne "auto const& name : mName"?
name est, dans ce cas un type et mName est la variable de ce type, c'est bien ça? Et que signifie le auto?
Le changement de mName en mNames est peut être pas mal du tout en effet pour faire savoir que c'est un tableau. Je vais changer cela aussi lol
Peux se lire comme : pour chaque element (name) dont tu deduis le type ( auto ) dans ( : ) mName ..donc a chaque tour de boucle name prend le type et la valeur du prochain element.
- Edité par CrevetteMagique 5 décembre 2018 à 21:12:36
edit :: petite precision : le auto n'est pas obligatoire mais tres utile. Tu peux ecrire le type explicitement en gardant la meme syntaxe de boucle. Par exemple avec une liste d'entier :
for(int entier : listeEntier)
- Edité par CrevetteMagique 5 décembre 2018 à 21:35:25
Par contre, j'ai oublier comment je peu mettre en résolu. Je dois éditer mon premier poste? Cela fait un certains temps que je n'étais plus venu sur le site et encore moins le forum, honte à moi.
Edit, non, c'est bon, je viens de trouver. Quand on ne regarde pas lol
- Edité par FrédéricVanCaenegem 5 décembre 2018 à 21:39:57
La vie n'est pas un long fleuve tranquile
Affichage de string avec cout
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Discord NaN. Mon site.
Discord NaN. Mon site.
Discord NaN. Mon site.