IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Utilisation des vecteurs


Sujet :

MFC

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Utilisation des vecteurs
    Bonjour,

    Je développe un projet en Visual C++. Dans celui-ci j'ai créé une classe Site. Dans une autre classe j'ai besoin d'un vecteur contenant plusieurs Site, j'ai donc fait : vector<Site> listeSite puis dans cette même classe j'ai une fonction qui a pour paramètre ce listeSite. Lorsque je compile j'ai cette erreur : erreur de syntaxe : identificateur 'vector' sur la ligne de déclaration de ma méthode dans mon fichier .h

    Peut on m'expliquer comment utiliser les vector?

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    deja verifie la presence des elements suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #include <vector>
    #include <algorithm> // eventuellement 
    using namespace std; // pour eviter de faire std::vector<Site> listeSite;
     
    vector<Site> listeSite

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Salut,

    J'ai bien tout ça !
    Mais cela ne vient il pas de ma déclaration de méthode ?
    Lorsque je déclare ma fonction je fais : void nomFonction(vector<Site> listeSite)
    est ce bien cela qu'il faut faire ?
    Merci beaucoup,

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    C'est surement plus simple à comprendre avec le code
    j'ai ça:
    dans le .cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #include "Site.h"
    #include <vector> 
    #include <algorithm>  
    using namespace std; 
    ...
    void MaClasse::maproc(vector<Site> listeSite)
    {
    ...
    }
    void MaClasse::monMain(){
    maproc(listeSite);
    }
    ...
    et dans le .h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    void maproc(vector<Site> listeSite);
    Je ne comprends pas où est l'erreur,
    Si quelqu'un peut m'aider...
    Merci d'avance

    Emilie

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    moi je mettrais l'include site.h apres celui de vector ...
    d'ou le pb de definitions.
    de plus moi je passerais une reference dans la fonction .

  6. #6
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Voire même une référence constante.

    C'est quoi le message d'erreur exact ?
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Salut,

    J'ai maintenant mis ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #include <vector> 
    #include "Site.h"
    #include <algorithm>  
    using namespace std;
    et passé une référence dans la fonction ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    void MaClasse::maProc(vector<Site> &listeSite)
    {
    }
    ...
    void MaClasse::monMain(){
    maProc(listeSite);
    }
    et dans le .h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    void maProc(vector<Site> &listeSite);

    j'ai toujours la même erreur qui s'affiche.

    Merci d'avance pour vos idées,

    Emilie

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Le message d'erreur exact c'est :

    error C2061 : erreur de syntaxe : identificateur 'vector'

    Merci,

    Emilie

  9. #9
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    meme remarque avec using namespace std;
    sinon c'est std::vector<Site> listeSite

  10. #10
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Je viens de comprendre! Mais où avais-je la tête ?

    Inclus <vector> dans ton fichier qui s'en sert pour commencer (le .h !!!, pas le .cpp!), et préfixe ensuite systématiquement par std:: -> std::vector<>.
    Tu pourrais aussi faire le using namespace std; dans le fichier d'en-têtes, mais c'est une mauvaise habitude qui ne passe que sur les petits programmes développés seul et non appelés à être maintenus -- soit les exos et les programmes de tests.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Pas de changement avec le using namespace std remonté juste après le include<vector>

    Merci,

    Emilie

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mai 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2003
    Messages : 24
    Points : 27
    Points
    27
    Par défaut
    Un truc super con, j'ai presque honte de poser la question mais la classe Site ne s'appellerait pas CSite par hasard ?

    édité : Ah oui, c'était super con comme remarque
    Air'V

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    ça marche !!!!

    merci à vous deux pour votre aide c'était bien le Include "MaClasse.h" qu'il fallait mettre en dessous de toutes les autres include !!!!!

    Merci beaucoup, bonne journée ,

    Emilie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 18
    Dernier message: 10/06/2012, 23h06
  2. Réponses: 31
    Dernier message: 19/09/2011, 10h37
  3. Réponses: 39
    Dernier message: 16/01/2009, 16h58
  4. Utilisation des vecteurs sous borland C++
    Par lolita4882 dans le forum C++
    Réponses: 2
    Dernier message: 12/04/2008, 12h08
  5. Quelle commande utiliser pour écrire des vecteurs en colonne ?
    Par minimel dans le forum Mathématiques - Sciences
    Réponses: 2
    Dernier message: 18/05/2007, 18h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo