passing as 'this' argument discards qualifier


1、問題描述

有這樣一個函數

void setInfo(const std::map<std::string,std::string>& config)
{
  std::string a = config["aaa"];
}

2、編譯現象

如標題

3、解釋

config變量是一個const的,但是在內部函數里調用了這個變量的符號重載函數"[ ]",而我們規定const是不能被修改,但是調用這個函數就有被修改的風險,故編譯報錯

4、解決

可以在函數后面加一個const,或者把config前面的const去掉


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM