[C] simple question....

Résolu/Fermé
m0n0-le-14r3 Messages postés 174 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 25 octobre 2005 - 11 mai 2005 à 10:48
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 11 mai 2005 à 12:42
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

A voir également:

3 réponses

teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
11 mai 2005 à 10:50
Salut,
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...
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
11 mai 2005 à 10:58
voile, tout est dit !
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
11 mai 2005 à 12:42
je 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;
0