Cette fonction a déjà un corps?? [Résolu]

Signaler
Messages postés
7
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
9 janvier 2008
-
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
-
Bonjour,

Que signifie ce message d'erreur et comment le résoudre?

la fonction 'char *flire(char *)' a déjà un corps

 

Merci d'avance
A voir également:

5 réponses

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Elles ne sont pas déclarées dans un .h j'espère ?

C++ (@++)
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Ça veut dire que tu déclares plus d'une fois la fonction flire dans ton code.

C++ (@++)
Messages postés
7
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
9 janvier 2008

En fait ça me paraît bizarre car j'ai cherché et je n'ai pas trouvé où elles auraient déjà pu être définies dans mon programme...
J'ai changé le nom des deux fonctions pour être sûr et  l'erreur recommence avec le nouveau nom...

De plus, ca marchait très bien et sans que je change ces fonctions, ca s'est mis à bugger...
Messages postés
7
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
9 janvier 2008

C'est bon j'ai trouvé, en fait c'était bien ça,

j'avais include le .h où se trouvait les fonctions à deux endroits différents...
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
On ne devrait pas déclarer de fonctions dans un header, seulement leur prototype que l'on pourra inclure où bon nous semble.

Déclare tes fonctions dans un .c à part:

// lire .c

char *flire(char *c) {
    ...
}

etc. etc.

// lire.h

char *flire(char *c);
etc. etc.

// main.c
#include "lire.h"
...

C++ (@++)