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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    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
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    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
    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 confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 292
    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 292
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    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
    Par défaut
    meme remarque avec using namespace std;
    sinon c'est std::vector<Site> listeSite

  10. #10
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 292
    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 292
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Merci,

    Emilie

  12. #12
    Membre averti
    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
    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

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    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