Portée pour une variable déclarée extern
Bonjour
j'ai un fichier toto.h dans lequel j'ai mis quelques #define et 2 variables déclarées extern
Code:
1 2 3 4 5 6 7 8 9 10
|
/*
* Mon fichier toto.h
*/
extern uint32_t variable1;
extern uint8_t variable2;
#define macro1 ...
#define macro2 ... |
J'inclus ce fichier toto.h dans mon code principal, mais impossible d'utiliser mes variables déclarées extern dans des fonctions de ce code principal.
Lors de la compilation j'ai le message : variable1 was not declared in this scope.
Pourquoi est ce que mes variables ne sont pas vues dans mon code principal (qui incorpore mon fichier où elles sont déclarées) comme une variable globale ? Ai je mal compris l'usage du mot clef extern ?
(Je précise que je travaille sur un Arduino, et qu'il n'y a pas de fonction main() sur ce matériel, mais 2 fonctions : setup() et loop())
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
/*
* Code principal
*/
#include <toto.h>
void setup()
{
variable1 = 1;
variable2 = 10;
}
void loop()
{
...
} |
Merci
[RESOLU] Problème de portée pour une variable déclarée extern
Bonjour,
Merci Boosk > ca marche tel que tu l'indiques.
Et j'ai mieux pigé le fonctionnement de extern grace à toutes les réponses.
Cordialement,