Partage
  • Partager sur Facebook
  • Partager sur Twitter

Visual 2008 et strings

problème de conversion?

Sujet résolu
    9 mars 2008 à 17:22:55

    Bonjour, je ne parviens pas à comprendre pourquoi le compilateur de visual 2008 ne reconait pas le type string alors que je l'ai bien inséré au début du code

    #include <string>

    ainsi que les autres directives de préprocesseur requises.

    Je m'explique, j'ai un TP à préparer pour demain et je l'ai testé une fois terminé. Tout a fonctionné sans aucun pépin.

    Le programme à faire était tout simplement de créer un menu dans lequel on prend le mot le plus avancé dans le classement alphabétique (exemple : oiseau et zebre -> afficher zebre).

    Maintenant, je dois refaire ce programme mais en utilisant les fonctions, chose qui est toute simple. Mais le problème c'est que une fois terminé le compilateur plante en me disant qu'il ne reconnait pas le type string alors que les include<string> sont bien insérés dans le main et dans l'autre fichier source.

    Je vous passe le code qui pose problème :

    1. #include <iostream>
    2. #include <string>
    3. #include "fonctions.h"
    4. using namespace std;
    5. //Dans la fonction main avec NMAX une constante définie
    6. string chaine[NMAX]={" "},resultat3=" ";
    7. saisieChaine(N,chaine);
    8. affichageChaine(N,chaine);
    9. resultat3 = classementChaine(N,chaine);


    Les Fichiers source de ces fonctions
    1. #include <iostream>
    2. #include <string>
    3. using namespace std;
    4. void saisieChaine(int N,string chaine[])
    5. {
    6.   for(int i=0;i<N;i++)
    7.                    {
    8.                            cout<<"Entrez un mot"<<endl;
    9.                            cin >>chaine[i];
    10.                    }
    11.   cout<<endl;
    12. }
    13. void affichageChaine (int N,string chaine[])
    14. {
    15.   for(int i=0;i<N;i++)
    16.   {
    17.     cout<<chaine[i]<<" "<<endl;
    18.   }
    19.   cout<<endl;
    20. }
    21. string classementChaine(int N,string chaine[])
    22. {
    23.   string motLePlusGrand="";
    24.   for(int i=0;i<N;i++)
    25.                    {
    26.                            if(motLePlusGrand < chaine[i])
    27.                            motLePlusGrand = chaine[i];
    28.                    }
    29.   return motLePlusGrand;
    30. }


    Le header

    1. #ifndef DEF_FONCTIONS
    2. #define DEF_FONCTIONS
    3. void saisieChaine(int N,string chaine[]);
    4. void affichageChaine (int N,string chaine[]);
    5. string classementChaine(int N,string chaine[]);
    6. #endif



    Et enfin, une des erreurs affichées

    1>error C2065: 'chaine' : identificateur non déclaré

    Si vous savez pourquoi il y a une erreur, merci de me le signaler ^^
    • Partager sur Facebook
    • Partager sur Twitter
      9 mars 2008 à 17:29:21

      il anque peut etre un std:: dans ton header
      • Partager sur Facebook
      • Partager sur Twitter
        9 mars 2008 à 17:33:09


        Merci beaucoup,

        Je me demande comment j'ai fait pour ne pas voir une erreur pareille :colere2: le string a besoin d'un std:: en effet mais je l'ai complètement zappé ^^

        Enfin bref, merci
        • Partager sur Facebook
        • Partager sur Twitter

        Visual 2008 et strings

        × 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.
        • Editeur
        • Markdown