const+map引起error C2678的解決辦法
寫了一個小程式,在一個const成員函式中訪問了一個map成員,如下所示:
void CPlayerScore::GetScore(GAMERESULT res, RBScore & rbscore)const { rbscore = m_scoreTable[res];}
m_scoreTable是一個map成員,結果編譯時報錯。
error C2678: 二進位制“[” : 沒有找到接受“const std::map<_Kty,_Ty>”型別的左運算元的運算子(或沒有可接受的轉換)
解決辦法有兩個:
1、是去掉函式的const屬性,但是這樣就改變設計意義了
2、在宣告m_scoreTable時加上mutable限定符,如下所示
mutable map<GAMERESULT, RBScore> m_scoreTable;
第2個辦法是網友benbear告訴我的,又學到了一招,呵呵
3、不改變原來的宣告
程式碼改為
map<GAMERESULT, RBScore>:: const_ iterator it=m_score.find(res);
assert(it !=m_score.end();
rbscore = it->second;
相關推薦
const+map引起error C2678的解決辦法
寫了一個小程式,在一個const成員函式中訪問了一個map成員,如下所示:void CPlayerScore::GetScore(GAMERESULT res, RBScore & rbscore)const { rbscore = m_scoreTabl
電腦藍屏問題引起原因及解決辦法
藍屏 windows藍屏故障(1)STOP消息0X0000000A故障引起原因:一般是由於新安裝了什麽設備,而設備的驅動程序使用了不正常的內存地址,這種情況下我們需要確保硬件的驅動程序與系統要兼容。解決方法:去除新安裝的設備,更換硬件或系統。(2)STOP消息0X00000023或者0X00000024故障
Git出現SSL connect error的解決辦法
技術分享 一個 info IT 錯誤 connect package 開發 RR 最近在使用Go開發項目中,因為需要安裝一個Package,所以使用了go get命令 ,然後就出現git clone ... SSL connect error的錯誤: 出現這種錯誤有可能是
Spring Boot連接MySQL報錯“Internal Server Error”的解決辦法
deb 解決辦法 pri int encoding demo could CA timezone 報錯信息如下: {timestamp: "2018-06-14T03:48:23.436+0000", status: 500, error: "Internal Server
[python]mkdir出現WindowsError:[Error 3]解決辦法
系統 目錄 int clas 出現 exists ali 找不到 存在 原始代碼: dir=‘drama\\[‘+str(drama_dic[‘author‘])+‘][‘+str(drama_dic[‘alias‘])+‘]‘ if not os.path.exists
google app sign引起的問題解決辦法
最近上架Google應用由於啟用了Google sign導致從Google上下載的應用無法登入Facebook, 並且無法移除Google sign。 問題原因是:上傳到Google後臺的應用被Google重新簽名名了,這樣就導致Facebook等其他方式需要驗證簽名的三方校驗無法正常執行。
執行yolo時,莫名出現cuda error的解決辦法
最近在載入yolo模型時,總是無緣無故出現cuda error的錯誤,初步判斷為環境問題,所以講yolo編譯中需要注意的問題總結如下: 一、Darknet編譯使用GPU要求顯示卡是Nvidia卡並且正確安裝了CUDA。 GPU環境下的編譯配置都是在 /dar
Ubuntu打deb包,出現dpkg-shlibdeps: error問題解決辦法
今天打一個依賴於protobuf的deb包,出現了以下錯誤: dpkg-shlibdeps: error: no dependency information found for /usr/local/lib/libprotobuf.so.15 由於protobuf是手動裝的,不
pymysql.err.InterfaceError Interface Error: (0, '')解決辦法
時間一長,什麼樣的坑都能出現。 Flask的專案碰到了這樣的錯誤: pymysql.err.InterfaceError InterfaceError: (0, '') Traceback (m
安裝PHP出現make: *** [sapi/cli/php] Error 1 解決辦法
ext/iconv/.libs/iconv.o: In function `php_iconv_stream_filter_ctor': /home/king/php-5.2.13/ext/iconv/iconv.c:2491: undefined reference to
jenkins 執行shell命令 command not found,make: *** [build] Error 127 解決辦法
本地執行shell命令成功,Jenkins 遠端執行 shell命令有時 提示命令找不到,或者make的時候報錯。 因為Jenkins執行shell時無法獲取環境變數的原因導致 解決辦法在shell
常見的Exception 和 Error的解決辦法
1、java.rmi.server.ExportException 異常的原因及解決方法 異常描述:java.rmi.server.ExportException: Port already in use: 1099 表示端口占用,解決辦法,換一個埠號
IntelliJ IDEA遇到編譯失敗Compilation failed:internal java compiler error的解決辦法
IntelliJ IDEA提示編譯失敗如下: 解決辦法: 1、專案名稱處右擊,點選"Open Moudle Settings". 2、點選左邊列表“Project”,右邊Project SDK選擇1.8,Project language level選擇“8 - Lambda, type a
Microsoft Visual C++ Runtime Library Runtime Error的解決辦法
Microsoft Visual C++ Runtime Library Runtime error! Program:c:/.../Outlook.exe R6025 Pure virtual function call 要解決此問題,請使用以下方法之一。 回到頂端 方法 1:使用命令列開關 使
Qt技巧:Error LNK2019解決辦法
在編譯工程的時候經常會碰到 " LNK2019:無法解析的外部符號... " 的報錯。一般來說,碰到這個錯誤有一下幾種情況: 1、標頭檔案中聲明瞭函式或者型別,但是沒有相關的實現原始檔 解決:在編譯結果中找到並定位該函式,刪去多餘的定義並對未實現的定義進行實現;注意刪去De
js array不支援map filter等的解決辦法
if (!Array.prototype.every) { Array.prototype.every = function(fun /*, thisp*/) { var len = this.length; if (typeof fun !=
firefox快速重新整理error及解決辦法
問題: 測試發過來bug,說——頻繁F5重新整理頁面,會閃現未載入完樣式的頁面; 開發用的Chrome,沒發現這個問題,測試用的firefox,於是從瀏覽器的重新整理載入機制方面搜尋解決辦法,沒搜到,運氣好,最後找到了解決辦法
伺服器錯誤:http 錯誤500.19 Internal Server Error 的解決辦法
釋出牛腩新聞系統的時候遇到一個很頭疼的錯誤: 網上查了一些相關資料,大部分都說原因是asp.net的framework版本問題。因此照著說的也重新註冊了一下。 網上一般的資料都是說註冊2.0版本,但是這個需要根據自己的程式來,我用的是V4.0的,所以註冊的時候就應註冊成這
springboot異常之Whitelabel Error Page解決辦法
Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this
virsual studio等AP無法訪問網路對映驅動器(map network drive)的解決辦法(二)
前面一篇文章已經提到了問題所在: 直接通過 對映網路(map network drive) 硬碟,run as Administrator的AP會出現無法訪問的情況,這是因為直接通過explorer上的map network drive按鈕進行對映網路硬碟的動作是沒有run