簡體   English   中英

C ++丟棄限定符

[英]C++ discards qualifiers

我有這個錯誤:

BSPArduino.cpp:316:錯誤:將'const BSPArduino'作為'this'參數傳遞給'virtual void 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;

我不明白為什么這個構建錯誤...

非常感謝你的幫助

安東尼

BSPArduino :: enableWdt()是一種非const方法。 如果您嘗試從const中調用非const方法,則會出現此錯誤。

本質上,錯誤是試圖告訴你,你正在丟棄“這個”的常量。

你試圖從const成員函數調用非const函數; 這是不允許的。

如果可能,請為enableWdt添加const限定符。 如果那是不可能的(因為它修改了對象),那么你必須從調用函數中刪除const限定符,或者重構代碼以便從其他地方調用enableWdt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM