[C] simple question....

Résolu
m0n0-le-14r3 Messages postés 174 Date d'inscription   Statut Membre Dernière intervention   -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Modérateur Dernière intervention   1 793
 
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   Statut Contributeur Dernière intervention   857
 
voile, tout est dit !
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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