-7
int main()
{
introduction();
int x;
cin >> x;
if (x == 1)
cout << endl << "1. Only state true information." << endl << "2. Do not copy this servey and distribute it AT ALL." << endl << "3. Do not falsely advertise this survey anywhere." << endl << endl;
cout << "(Press 1 to start survey)" << endl;
int y;
cin >> y;
if (y == 1)
int gender = askGender();
int job = askJobOrNot();
int sport = askFavSport();
int music = askFavMusicGenre();
int birth = askBirthPlace();
int colour = askFavColour();
cout << endl << "Thank you, you have successfully completed the survey! (: " << endl;
cout << "(Press 1 to show results, and press 2 to quit)" << endl;
int s;
cin >> s;
if (s == 1)
printResults(gender, job, sport, music, birth, colour);
if (s == 2)
quitProgram();
return 0;
}
Quand je compile ce code, il me donne une erreur sur la ligne 23 me disant que la variable « genre » (que je mets comme argument dans la fonction "printResults") est un identificateur non déclaré, même si je l'ai clairement déclaré 11 lignes avant (ligne 12). Pourquoi cela est-il ainsi?Pourquoi cela me dire que « genre » est un identificateur non déclaré en ligne
Vous avez déclaré 'gender' dans le cadre de l'instruction' if'. Il est parti au moment où vous voulez l'utiliser. – user2296177
La variable est déclarée dans la portée de l'instruction 'if()' précédente uniquement. –
Peut-être que cela clarifiera pourquoi cela se produit: http://en.cppreference.com/w/cpp/language/scope – Jack