C ++ отбрасывает классификаторы

У меня есть эта ошибка:

BSPArduino.cpp: 316: ошибка: передача const BSPArduino как this
аргумент виртуальной пустоты BSPArduino :: enableWdt (const
WATCHDOG_TIMER_DELAY&, const ___bool&) ‘отбрасывает классификаторы

Этот метод определяется так:

void BSPArduino::enableWdt(const WATCHDOG_TIMER_DELAY &delay, const ___bool &enable)

Я хочу назвать это так:

enableWdt(this->watchdogTimer, ___false);

С:

WATCHDOG_TIMER_DELAY watchdogTimer;

Я не понимаю, почему эта ошибка сборки …

Спасибо большое за вашу помощь

Энтони

4

Решение

BSPArduino :: enableWdt () является неконстантным методом. Если вы попытаетесь вызвать неконстантный метод из константного, вы получите эту ошибку.

По сути, ошибка пытается сказать вам, что вы отбрасываете постоянство «этого».

13

Другие решения

Вы пытаетесь позвонить неconst функция от const функция-член; это не разрешено

Если возможно, добавьте const квалификатор к enableWdt, Если это невозможно (потому что это изменяет объект), то вам придется либо удалить const квалификатор из вызывающей функции или реструктурировать код так, чтобы enableWdt называется откуда-то еще.

3

По вопросам рекламы [email protected]