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 :

Renvoyer des pointeurs pour du c.


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Par défaut Renvoyer des pointeurs pour du c.
    Voilà mon petit problème,

    J'ai un outil écrit en c++... j'ai des applis écrites en c ... et je voudrais que les applis en C accèdent à des structures via des pointeurs de structure qui auront été alloués par l'outil en c++ ...
    Bon, je n'y connais rien en C++, alors j'ai utilisé extern "C" comme j'ai trouvé sur une faq...
    J'ai un petit .h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    extern "C" T_toto* new_toto_structure();
    Voilà où est défini le type T_toto
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ifdef __cplusplus
    extern "C"{
    #endif
    struct toto{
    int i;
    char c;
    };
    typedef struct toto T_toto;
    void toto( T_toto );
    #ifdef __cplusplus
    }
    #endif
    mais quand l'appli en C qui inclue ce .h compile il y a l'erreur suivante...
    fun.h:1: error: expected constructor, destructor, or type conversion before ‘*’ token

    Est-ce qu'il est impossible de renvoyer des pointeurs pour l'utiliser dans du C ....??

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Par défaut
    Il me semble que seules les variables (globales) et les fonctions sont sensibles à extern "C".

    Tu devrais peut-être essayer de sortir la déclaration de ta structure (et son typedef) du bloc.

  3. #3
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    mais quand l'appli en C qui inclue ce .h
    Quel .h ? le premier ?

    extern "C" T_toto* new_toto_structure();
    Ne compile qu'en C++.

Discussions similaires

  1. Réponses: 7
    Dernier message: 19/07/2010, 19h01
  2. encore des pointeur pour un compteur d'élèment
    Par Warfdog dans le forum Débuter
    Réponses: 3
    Dernier message: 24/11/2009, 22h36
  3. Réponses: 3
    Dernier message: 19/09/2009, 16h37
  4. [TP7] Renvoyer des infos dans la console pour redirection
    Par Natopsi dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 05/11/2005, 18h21
  5. recherche des algorythmes pour images 2d
    Par exxos dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 24/05/2002, 13h46

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