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

Linux Discussion :

Utilisation de classes C++ dans linux


Sujet :

Linux

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mai 2003
    Messages : 72
    Par défaut Utilisation de classes C++ dans linux
    Bonjour,

    Je programme en C++ sous window xp à l'aide de Visual studio ou .net mais je doit maintenant programmer une application dans linux et j'essais d'utiliser les classes pour modulariser mon programme, bref j'ai fait mes fichiers d'entête et fichier cpp mais lorsque j'arrive pour compiler mon programme dans lequel j'ai déclarer un objet d'une classe que j'ai fait, il m'indique une erreur m'avertissant que le membre de mon objet est d'un non-aggregate type.

    voici mon code

    Fichier d'entête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    /******************************************************************************
    Fichier : FileCirculaire.h
    -------------------------------------------------------------------------------
    Auteur  : Christian Hovington
    Date    : Samedi, le 8 octobre 2005
    *******************************************************************************
    Description
    -------------------------------------------------------------------------------
     
    ******************************************************************************/
     
    class FileCirculaire
    {
    	//Déclaration des variables privé
    	private:
    			char cBuffer[32];
    			int  iTete;
    			int  iQueue;
    	public:
    			FileCirculaire();	// Constructeur
     
    			char Extraction();			
    };
    Fichier 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    /******************************************************************************
    Fichier : FileCirculaire.cpp
    -------------------------------------------------------------------------------
    Auteur  : Christian Hovington
    Date    : Samedi, le 8 octobre 2005
    *******************************************************************************
    Description
    -------------------------------------------------------------------------------
     
    ******************************************************************************/
     
    // Include
    #include "FileCirculaire.h"
     
    // Constructeur
    FileCirculaire::FileCirculaire()
    {
    	iTete  = 0;
    	iQueue = 0;
    }
     
    /******************************************************************************
    EXTRACTION
    -------------------------------------------------------------------------------
    Fonction qui sert à enlever une donnée de la file circulaire
    ******************************************************************************/
    char FileCirculaire::Extraction()
    {
     
    }
    Main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    /******************************************************************************
    Fichier : ProdCons.cpp
    -------------------------------------------------------------------------------
    Auteur  : Christian Hovington
    Date    : Samedi, le 8 octobre 2005
    *******************************************************************************
    Description
    -------------------------------------------------------------------------------
     
    ******************************************************************************/
     
    // Include
    #include "FileCirculaire.h"
     
    // Global
    FileCirculaire objFile(); // accessible par deux processus
     
    // Programme
    int main()
    {
    	// Variable
    	objFile.Extraction();
    }
    Dans la console
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    [destinywar@66-248 ProdCons]$ make ProdCons
    g++     ProdCons.cpp   -o ProdCons
    ProdCons.cpp: Dans function « int main() »:
    ProdCons.cpp:29: error: request for member `Extraction' in `objFile', which is
       of non-aggregate type `FileCirculaire ()()'
    make: *** [ProdCons] Erreur 1
    MakeFile
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    ###############################################################################
    # MakeFile
    # Conçue pour le programme Producteur/consommateur du Tp1
    # -------------------------------------------------------
    # 
    # Travail pratique no.1
    # ---------------------
    # Auteur : Christian Hovington
    # Date   : Samedi, le 8 octobre 2005
    #
    ###############################################################################
    monapp: ProdCons
    	gcc -o ProdCons ProdCons.o
    ProdCons.o: ProdCons.c FileCirculaire.h
    	gcc -c ProdCons.c
    Si vous avez une idées de qu'est-ce qui ne fonctionne pas, ca m'aiderais beaucoup parce que ca fait 6h que j'essais de faire marcher mes classes sous linux. Je ne suis pas très habituer de codé dans linux.

    Merci

  2. #2
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FileCirculaire objFile(); // accessible par deux processus
    tu as déclaré une fonction.
    http://c.developpez.com/faq/cpp/?pag..._list_list_fct
    j'ai aussi un doute sur ton accès via 2 process. Ils auront chacun leur propre copie...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 31
    Par défaut
    Au passage, tu as oublié de protégeer ton header des inclusions multiples :
    http://c.developpez.com/faq/cpp/?pag...ASS_header_cpp

  4. #4
    Membre émérite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par défaut
    Juste sur ce commentaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // Global 
    FileCirculaire objFile(); // accessible par deux processus
    Une variable globale n'est pas accessible par plusieur processus du simple fait d'être globale. Ce serait plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // Global 
    FileCirculaire objFile(); // accessible par plusieur modules

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    Et encore, ça dépend de ce que l'on appelle "module" (sous Windows, c'est accessible entre plusieurs sources, mais pas entre plusieurs modules).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. utiliser une classe java dans une page jsp
    Par switch1 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 16/04/2009, 16h49
  2. Comment utiliser une classe Java dans une appli PB ?
    Par bobychezA56 dans le forum Powerbuilder
    Réponses: 0
    Dernier message: 09/04/2008, 18h07
  3. [JSP] Utiliser une classe Java dans du Javascript
    Par BiM dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 11/07/2007, 11h52
  4. Utiliser une classe personnelle dans un vector
    Par Mindiell dans le forum SL & STL
    Réponses: 16
    Dernier message: 01/03/2007, 17h42
  5. Réponses: 2
    Dernier message: 12/04/2006, 20h48

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