Problème de reconnaissance d'une classe par le compilateur


bonjour,

je souhaite créer une librairie afin de stocker des fonctions de communication avec un afficheur 4digit.
j'ai suivi la méthode donnée ici: [http://arduino.cc/en/hacking/librarytutorial], mais j'ai toujours une erreur persistante du compilateur lorsque je veux utiliser ma classe:
quote
sketch_may06b:25: error: expected unqualified-id before '.' token
.
j'ai donc essayé de déclaré directement ma classe dans le sketch, mais même erreur.
voici mon code (je vous épargne le contenu des fonctions):
code: [select]

class afficheur
{
  public:
    // methods
    void initialize();
    void stop_all_blink();
    void display_hexa(int hexadecimal);
    void display_bcd(int variable);
    void display_characters(string characters);
};
void afficheur::initialize()
{}
void afficheur::stop_all_blink()
{}
void afficheur::display_hexa(int hexadecimal)
{}
void afficheur::display_bcd(int variable)
{}
void afficheur::display_characters(string characters)
{}

void setup(){}
void loop()
{
afficheur.initialize();
}


quelqu'un aurait il une idée?
merci!

ce code compile:
code: [select]
#include "arduino.h"

class afficheur{
 public:
   void initialize();
   void stop_all_blink();
   void display_hexa(int hexadecimal);
   void display_bcd(int variable);
   void display_characters(string characters);
};
void afficheur::initialize()
{}
void afficheur::stop_all_blink()
{}
void afficheur::display_hexa(int hexadecimal)
{}
void afficheur::display_bcd(int variable)
{}
void afficheur::display_characters(string characters)
{}

afficheur affich;

void setup(){}
void loop(){
affich.initialize();
}

maintenant pour t'expliquer pourquoi je ne sais pas  :smiley-mr-green:

d'après ce que j'ai compris de l'anglais, afficheur est un type donc tu ne peux pas appeler la fonction par afficheur.initialize().
tu dois créer un objet (instance de struct ou class) et l'utiliser.

et apparement tu essaye d'accéder à une structure avec un . au lieu d'un :: alors que ses membres ne sont pas 'static'.
une autre solution serait donc de faire:
code: [select]
#include "arduino.h"

class afficheur{
  public:
    static void initialize();
    static void stop_all_blink();
    static void display_hexa(int hexadecimal);
    static void display_bcd(int variable);
    static void display_characters(string characters);
};
void afficheur::initialize()
{}
void afficheur::stop_all_blink()
{}
void afficheur::display_hexa(int hexadecimal)
{}
void afficheur::display_bcd(int variable)
{}
void afficheur::display_characters(string characters)
{}


void setup(){}
void loop(){
afficheur::initialize();
}


Arduino Forum > International > Français (Moderators: jfs, Snootlab) > Problème de reconnaissance d'une classe par le compilateur


arduino

Comments

Popular posts from this blog

opencv3, tbb and rasp pi 2 - Raspberry Pi Forums

small ethernet problem - Raspberry Pi Forums

Multithumb configuration params not working? - Joomla! Forum - community, help and support