Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Utiliser des fonctions dans des structures [ Divers / Divers ] (christophedlr)

mercredi 7 mai 2008 à 19:17:58 | Utiliser des fonctions dans des structures

christophedlr

Membre Club
Bonsoir,

Dans mon programme en C++, je souhaite pouvoir utiliser une fonction d'initialisation dans ma structure.
J'ai vu un programme d'exemple ici me disant qu'il fallait dans la fonction que je lui passe ma structure en pointeur sur this, hors cela me renvoi une erreur.

Voici le code de la structure:
struct version
{
    int majeur;
    int mineur;
    char *texte;
    void init( struct version *this);
};

Et les erreurs:
config.h:11: erreur: expected «," or «..." before «this"
config.h:14: erreur: expected «," or «..." before «this"

Merci d'avance à ceux qui pourront m'aider.

mercredi 7 mai 2008 à 19:46:57 | Re : Utiliser des fonctions dans des structures

jacksparoow

Je n'ai jamais vu ni entendu qu'on peut insèrer des méthodes à l'intérieur d'une structure dans ce cas elle n'est plus une structure c'est une classe donc pourquoi ne pas passer par une classe

Les fins justifient les moyens_________________________________________________
Yassine BENNANI
- Ingénieur en génie logiciel & multimédia (Consultant SI)

mercredi 7 mai 2008 à 20:30:24 | Re : Utiliser des fonctions dans des structures

SAKingdom

Membre Club
C'est possible en C++ mais aussi bien faire une classe. C'est (presque) exactement la même chose.

this est un mot clé réservé. Impossible d'en faire un nom de paramètre.

C++ (@++)


mercredi 7 mai 2008 à 23:22:56 | Re : Utiliser des fonctions dans des structures

Arnotic

Administrateur CodeS-SourceS
Tu fais une fonction qui prend en paramètre un pointeur vers ta structure. Nul besoin de mettre une déclation de fonction dans une structure.

Après suivant tes besoins tu peux déclarer des pointeurs de fonctions dans une structure.

@+
Arnotic,
Admin CS

mercredi 7 mai 2008 à 23:46:27 | Re : Utiliser des fonctions dans des structures

christophedlr

Membre Club
C'est bon j'ai résolu mon problème, en fait me suffisait d'inclure ma fonction directement dans la structure et non comme je le pensais, y mettre juste le prototype.

jacksparoow,
Le fait que je n'utilise pas directement une classe, est que je n'en ai pas besoin.
La fonction que j'ai dans ma structure me permet uniquement de fournir une valeur de base à celle-ci, et il n'y a donc qu'une seule et unique fonction.

Cette structure en fait contient le numéro de version du programme, et la fonction ne fait que affecter aux variables de la structure, le numéro de version c'es tous.

Faire une classe m'obligerais donc à déclarer un constructeur, hors là ce n'est pas utile.

jeudi 8 mai 2008 à 13:41:55 | Re : Utiliser des fonctions dans des structures

jacksparoow

ça revien au même christoph ce que ta fait ou bien ta voulu faire c'est tout simplement une classe avec un constructeur sinon elle sera quoi la particularité d'une classe.   

Les fins justifient les moyens_________________________________________________
Yassine BENNANI
- Ingénieur en génie logiciel & multimédia (Consultant SI)

jeudi 8 mai 2008 à 14:45:36 | Re : Utiliser des fonctions dans des structures

christophedlr

Membre Club
Au niveau théorique ça ne change peut être rien de passer par une classe qu'une structure, mais au niveau de ma façon de coder, cela change beeaucoup chose ;)

jeudi 8 mai 2008 à 15:15:43 | Re : Utiliser des fonctions dans des structures

jfrancois

Bonjour,

La seule différence entre les structures et les classes est :
- Les membres sont publiques par défaut dans une structure (sinon il faut utiliser private:)
- Les membres sont privés par défaut dans une classe (sinon il faut utiliser public:).

Jean-François


jeudi 8 mai 2008 à 17:25:20 | Re : Utiliser des fonctions dans des structures

Arnotic

Administrateur CodeS-SourceS
Tu es loin de la différence.
Compile donc un code avec une classe, et un autre avec une structure. Compare l'asm généré et tu veras que ta classe ne sert qu'a ralentir ton programme.

@+
Arnotic,
Admin CS



Cette discussion est classé dans : erreur, utiliser, fonctions, structure, structures


Répondre à ce message

Sujets en rapport avec ce message

Comment utiliser une DLL tiers? [ par StefB ] Bonjour a tous,QUESTIONS : - Comment utiliser les classes, varaibles, constantes et fonctions dans une DLL sous VC++?- Est-ce t'il existe un tutoriel Comment utiliser une DLL tiers ? [ par StefB ] Bonjour a tous,QUESTIONS : - Comment utiliser les classes, varaibles, constantes et fonctions dans une DLL sous VC++?- Est-ce t'il existe un tutoriel Adresse IP [ par Tribute2U ] Bjr, je cherche a utiliser un controle du style 'IP Address' et j'aurai voulu savoir comment marchait les fonctions GetAddress et SetAddress de la cla Comment utiliser InternetOpen(...), CloseHandle(...) et autres fonctions se rapportant au Web ? [ par Tiot Seb ] Salut amis programmeurs sous Visual C++!J'ai besoin, pour un projet de stage, de pouvoir, ouvrir et fermer Internet Explorer. En fait, je dois créer u ERREUR qui mempeche d'utiliser VC++ [ par clem2003 ] Clem2002 :HELP:Lorsque je cree une application MFC, qui est auto-crée avec vc++ (je touche à rien), j'ai cette erreur :---------Configuration: llll - comment manipuler des bits sans utiliser de structure [ par mrbozzo ] MrBOZZOje suis un grand débutant en language c, et désire m'attaquer à la compression de fichier...j'utilise une méthode de réécriture de longueurs de bleme avec les structures [ par djamine ] j'ai un bleme j'aimerais que tu m'aide avec les structuresTAF:en utilisant un tableau de structure Je dois ecrire un programme qui saisi les noms et l Problemes de fonctions (niveau debutant) [ par zzzzzz ] en fait je veut faire un programme console dans le but de me familiariser avec les fonctions que je maitrise pas et que je veux apprendre. en francais Règles d'alignement + structure + fichier [ par visualstar ] Bonsoir, J'ai fais un p'tit programme qui écris simplement des structures dans un fichier. Puis après je fais le dump du fichier en question et j'aura les bibliothèques de snmp [ par mehdi_kh ] salut, jai trouvé une bibliothèque snmp.h dans le c++ builder 4.5 mais je ne connais pas ses fonctions. mon projet consiste a utiliser ce protocole po


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,640 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.