J'ai pas la class !

Bonjour,

Voici une erreur de compilation que je ne comprends pas :

Avez-vous besoin de plus d'info pour m'expliquer ?

bonsoir,

Vérifie les librairies. ça peut venir de ça.

Salut,

Cette erreur signifie qu'il ne reconnait pas ce nom de variable car elle n'a pas été déclarée ou elle est hors de portée (déclarée quelque part mais non accessible depuis cette classe)

Si cette variable est effectivement déclarée quelque part, vérifier où. Si c'est une librairie, bien vérifier qu'elle est inclue dans ton code.

Sinon il faut la déclarer avant de l'utiliser, autrement dit remplacer

m_Rpin=Rpin;

par

int m_Rpin=Rpin;

ou tout type que ty souhaites affecter à m_Rpin

Elle est déclarée dans partie private de ma classe (en bas sur mon imprim. écran.), je pensais qu'il fallait faire comme ça :roll_eyes:

oui désolé j'avais regardé que l'erreur. Mais en fait il doit y avoir un problème dans la notion de classe. Dans la définition d'une classe, tu déclare uniquement tes variables et tes méthodes (fonctions). L'affectation et le traitement se fait dans la définition des méthodes elles mêmes, mais cela se fait en dehors de la définition de ta classe.

dans ton exemple :

// définition de ta classe
class ledRVB {
public:
ledRVB(char Rpin, Vpin, Bpin);
void off();
...
private:
  char m_Rpin;
  char m_Vpin;
  char m_Bpin;
...
}
// implémentation des méthodes
ledRVB::ledRVB(char Rpin, Vpin, Bpin) {
  m_Rpin=Rpin;
  m_Vpin=Vpin;
  m_Bpin=Bpin;
}
...

I am a boulet...

déclaré en "pin" et utilisé en "Pin".