Message d'erreur sur mon programme C++

Résolu
F0rEign Messages postés 57 Date d'inscription vendredi 22 mars 2013 Statut Membre Dernière intervention 6 septembre 2016 - Modifié par F0rEign le 17/03/2016 à 22:57
F0rEign Messages postés 57 Date d'inscription vendredi 22 mars 2013 Statut Membre Dernière intervention 6 septembre 2016 - 18 mars 2016 à 11:38
Bonjour, Je vais faire vite car j'ai souvent beaucoup de problème en C++.
Cette fois-ci je suis confronté à un problème que je n'ai jamais eu auparavant, sur le code ci-dessous, permettant de créer des sujets, comme sur ce forum j'ai l'erreur

"ambiguous overload for 'operator>>' in 'std::cin >> choiceYesNo'

PS : Vu qu'il y aura certainement une personne s'appellant "cpuinglu" ou un truc du genre (désolé si j'ai mal écris) qui va surement venir sur ce post, je préfère prévenir que les std namespace j'ai pas eu le temps de les enlever...

Le code :

#include <iostream>
#include <windows.h>

using namespace std;

double versionProg(0.5);

string softwareName(" ForCom");

void createCategory()
{
int choiceYesNo();
string createCategoryString();

cout << " vous avez decide de creer une nouvelle categorie " << endl;
cout << " Entrez le nom de la nouvelle categorie\n " << endl;

cin >> createCategoryString;

cout << " Vous avez creee la categorie " << createCategoryString << " C'est ca ? " << endl;
cout << " 1.Oui\n 2.Non " << endl;

cin >> choiceYesNo;

if (choiceYesNo == 1)
{

cout << " Vous avez confirme la creation de votre nouvelle categorie appele " << createCategoryString << endl;

}

else if (choiceYesNo == 2)
{

cout << " Retour a la creation d'une categorie " << endl;
Sleep(1500);
createCategory();
}

}



void createSubject()
{
string choiceSubject();
int choiceAlreadySubject();
int choiceCategory();
cout << " Vous avez decide de creer un sujet\n Vous voulez :\n 1.Creer une categorie\n 2.Voir les categories existantes" << endl;
cin >> choiceCategory;
if (choiceCategory == 1)
{

createCategory();

}




}


void options()
{
int choiceOptions;
cout << " Vous etes dans les options\n Ce programme est actuellement en version " << versionProg << endl;
cout << " Ce programme a ete creee par F0rEign\n \n ----- Pour nous contacter : nicolas.buchot@hotmail.fr ----- \n " << endl;
cout << " 1.Retour Menu\n 2.Quitter" << endl;
cin >> choiceOptions;
if (choiceOptions == 1)
{

}
else if (choiceOptions == 2)
{
cout << " Vous quittez le programme\n A bientot ! " << endl;
Sleep(1500);
}

}


void menu()
{
int choiceMenu;
system ("title Com'SoftWare ");
system ("color 1e");
cout << " Bienvenue sur la version " << versionProg << " de " << softwareName << endl;
cout << " Choisissez une option parmis ceux-la.\n " << endl;
cout << " 1.Creer un sujet\n 2.Options\n 3.Quitter " << endl;
cin >> choiceMenu;
switch (choiceMenu)
{
case 1:

createSubject(); // Creer un sujet

break;

case 2:

options(); // Options

break;


case 3:

cout << " Vous quittez le programme\n A bientot ! " << endl;
Sleep(1500);

break;

}


}



int main()
{

menu();

return 0;
}






Merci d'avance...



--- Anonymously ---

3 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
17 mars 2016 à 23:09
int choiceYesNo();
cin >> choiceYesNo;

Je trouve cela étrange ...
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
18 mars 2016 à 00:31
Bonjour.

Merci NHenry, ton intuition est la bonne. C'est exactement le souci.

"int a;" => déclaration d'une variable a.
"int a();" => déclaration d'une fonction a qui retourne un entier.

Si tu veux initialiser une variable, écris: "int a = 0;".

Pour les constantes, indique qu'elles le sont.
double versionProg(0.5); => const double versionProg = 0.5;

une personne s'appellant "cpuinglu" ou un truc du genre

Tout de même, ça prend 2 min, de regarder l'historique de tes posts et retrouver mon pseudo...

les std namespace j'ai pas eu le temps de les enlever...

Tu ne devrais pas avoir besoin de les retirer car tu ne devrais pas en avoir dès le début...

Je ne ferais pas une critique détaillée de ton code. Certaines choses vont mieux (switch, fonctions), d'autres n'ont pas évolués (using, std::cout enchaînés, protection de std::cin). Pour plus de détails relire les sujets précédents.
0
F0rEign Messages postés 57 Date d'inscription vendredi 22 mars 2013 Statut Membre Dernière intervention 6 septembre 2016
Modifié par F0rEign le 18/03/2016 à 11:39
Ok merci de ta réponse comme d'habitude, ça faisait longtemps que j'ai pas coder et ducoup j'ai oublier ce détail. et désolé si j'ai pu t'offenser ou quoi avec ton pseudo enfin bref merci A+
0
Rejoignez-nous