C++ discards qualifiers
J'ai cette erreur:
BSPArduino.rpc:316: erreur: passage de 'const BSPArduino' en tant que 'ce'
l'argument de la " virtual void BSPArduino::enableWdt(const
WATCHDOG_TIMER_DELAY&, const ___bool&)' les rejets qualificatifs
Cette méthode est définie comme:
void BSPArduino::enableWdt(const WATCHDOG_TIMER_DELAY &delay, const ___bool &enable)
Je veux l'appeler comme ça:
enableWdt(this->watchdogTimer, ___false);
Avec:
WATCHDOG_TIMER_DELAY watchdogTimer;
Je ne comprends pas pourquoi cette erreur de compilation...
Je vous remercie beaucoup pour votre aide
Anthony
Le contexte de l'appel est const (par exemple void f() const { ... } )
Vous appelez un non-const méthode avec un objet const.
Vous appelez un non-const méthode avec un objet const.
OriginalL'auteur Anthony | 2014-01-17
Vous devez vous connecter pour publier un commentaire.
BSPArduino::enableWdt() est un non-const méthode. Si vous essayez d'appeler un non-const méthode à partir d'un const on vous obtiendrez cette erreur.
Essentiellement l'erreur est d'essayer de vous dire que vous êtes à rejeter le constness de "ce".
OriginalL'auteur Bids
Vous essayez d'appeler un non-
const
fonction à partir d'unconst
fonction de membre; ce n'est pas permis.Si possible, ajouter un
const
qualifier pourenableWdt
. Si ce n'est pas possible (parce qu'il modifie l'objet), alors vous aurez à retirer leconst
qualifier à partir de la fonction d'appel, ou de restructurer le code de sorte queenableWdt
est appelé à partir de quelque part d'autre.OriginalL'auteur Mike Seymour