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:
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:
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:
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:
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:
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