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

C++ Discussion :

vector en paramètre de prototype


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 165
    Par défaut vector en paramètre de prototype
    Bonjour,
    Comment résoudre l'erreur :
    error: parse error before ':' token
    Il parle de la ligne : (std::vector< Objet2>) maFonction(Objet1* myObjet);

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #ifdef __cplusplus
    extern "C"{
    #endif
     
    	typedef struct Objet1 Objet1; 
    	typedef struct Objet2 Objet2; 
     
    	(std::vector< Objet2>) maFonction(Objet1* myObjet);
     
    #ifdef __cplusplus
    }
    #endif
    merci d'avance

  2. #2
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 330
    Par défaut
    Est ce que tu as ajouté #include <vector> en entête ?

  3. #3
    Membre émérite
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Par défaut
    Le vector est un objet C++ alors que tu définis l'interface comme étant de type C. En C, la Standard Template Library (et donc le vector) n'existe pas.
    Tu dois utiliser un pointeur pour passer un tableau par une interface C.

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 165
    Par défaut
    Citation Envoyé par spoutspout Voir le message
    Le vector est un objet C++ alors que tu définis l'interface comme étant de type C. En C, la Standard Template Library (et donc le vector) n'existe pas.
    Tu dois utiliser un pointeur pour passer un tableau par une interface C.
    D'accord je comprend mieux
    Je vais voir cela

    merci

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 165
    Par défaut
    ça ne marche pas !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::vector<Objet1>* dmaFonction(Objet2* myobjet);

  6. #6
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 330
    Par défaut
    Spoutspout a raison, il est probable que tu n'as pas le droit d'utiliser un vector à l'intérieur d'un bloc extern "C".

    De plus si tu utilise les classes Objet1 ou Objet2 il faut vérfier que tu inclus leurs entêtes.

  7. #7
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 165
    Par défaut
    Mon fichier .h n'aime pas mes includes. Donc ils sont dans le fichier .ccp avec le typedef struct dans le .h.
    Cela marche avec mes autres Objets.
    Peut être que je devrais également faire un typedef struct pour le vector !
    J'ai des pratiques pas bien pro

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

Discussions similaires

  1. vector <string> paramètre thread
    Par parabole33 dans le forum Threads & Processus
    Réponses: 7
    Dernier message: 05/01/2012, 19h41
  2. Un template qui prend un vector en paramètre
    Par divayht dans le forum C++
    Réponses: 11
    Dernier message: 16/08/2010, 21h26
  3. Problème méthode vector en paramètre
    Par SebastianPx dans le forum Débuter
    Réponses: 5
    Dernier message: 02/01/2009, 13h53
  4. Passage de pointeur de vector en paramètre
    Par Chop_chop dans le forum SL & STL
    Réponses: 2
    Dernier message: 11/05/2007, 11h33
  5. Réponses: 8
    Dernier message: 22/12/2006, 22h36

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