[C] simple question....
Résolu
je vouslais savoir...
j'ai iun fichier avec plein de fonctions inside, et il setouve que ds les fonctions y'a des constantes :
<--- FONCTION 1 --->
void truc(...){
#define MAXN 5
}
------FONCTION 2 -----
void machin (){
#define MAXN 6
}
Quand j'compile , il me fait un :
getpsfDebut.c:836:1: warning: "MAXN" redefined
c normal ou pas ???
merci
--
-- je vis dans un rêve dont je ne me reveille jamais...--
<---- j adore ma voisine ;) ---->
j'ai iun fichier avec plein de fonctions inside, et il setouve que ds les fonctions y'a des constantes :
<--- FONCTION 1 --->
void truc(...){
#define MAXN 5
}
------FONCTION 2 -----
void machin (){
#define MAXN 6
}
Quand j'compile , il me fait un :
getpsfDebut.c:836:1: warning: "MAXN" redefined
c normal ou pas ???
merci
--
-- je vis dans un rêve dont je ne me reveille jamais...--
<---- j adore ma voisine ;) ---->
3 réponses
-
ContributeurSalut,
Oui, en définissant une constante tu la défini pour le module, pas pour la fonction. Tu as plutôt intérêt à définir une variable dans ta fonction...
-
Contributeurvoile, tout est dit !
-
Contributeurje dirai même plus, tu definie une macro, pas une constante, ce qui fait que jusqu' a indication contraire ton preprocessuer remplace MAXN par 6 dans le code avant de le compiler.
Si tu veux eviter l'erreur, fait :
#undef MAXN
#define MAXN 6
mais je te conseil quand même
const int MAXN=6;