Reputation: 325
I have this error:
BSPArduino.cpp:316: error: passing 'const BSPArduino' as 'this' argument of 'virtual void BSPArduino::enableWdt(const WATCHDOG_TIMER_DELAY&, const ___bool&)' discards qualifiers
This method is define like this:
void BSPArduino::enableWdt(const WATCHDOG_TIMER_DELAY &delay, const ___bool &enable)
I want to call it like this:
enableWdt(this->watchdogTimer, ___false);
With:
WATCHDOG_TIMER_DELAY watchdogTimer;
Why do I have this build error?
Upvotes: 5
Views: 48131
Reputation: 2449
BSPArduino::enableWdt() is a non-const method. If you try and call a non-const method from a const one you will get this error.
Essentially the error is trying to tell you that you are discarding the constness of "this".
Upvotes: 17
Reputation: 254581
You're trying to call a non-const
function from a const
member function; that's not allowed.
If possible, add a const
qualifier to enableWdt
. If that's not possible (because it modifies the object) then you'll have to either remove the const
qualifier from the calling function, or restructure the code so that enableWdt
is called from somewhere else.
Upvotes: 4