J'ai un enum déclaré comme;
typedef enum
{
NORMAL = 0,
EXTENDED
}CyclicPrefixType_t;
CyclicPrefixType_t cpType;
J'ai besoin d'une fonction qui prend cela comme argument:
fun (CyclicPrefixType_t cpType) ;
la déclaration func est:
void fun(CyclicPrefixType_t cpType);
Veuillez aider. Je ne pense pas que ce soit correct.
Merci
C'est à peu près exactement comment vous le faites:
#include <stdio.h>
typedef enum {
NORMAL = 31414,
EXTENDED
} CyclicPrefixType_t;
void func (CyclicPrefixType_t x) {
printf ("%d\n", x);
}
int main (void) {
CyclicPrefixType_t cpType = EXTENDED;
func (cpType);
return 0;
}
Cela renvoie la valeur de EXTENDED
(31415 dans ce cas) comme prévu.
Ce qui suit fonctionne également, FWIW (qui confond légèrement ...)
#include <stdio.h>
enum CyclicPrefixType_t {
NORMAL = 31414,
EXTENDED
};
void func (enum CyclicPrefixType_t x) {
printf ("%d\n", x);
}
int main (void) {
enum CyclicPrefixType_t cpType = EXTENDED;
func (cpType);
return 0;
}
Apparemment, c'est une chose C héritée .