2014-02-09 72 views
-3

當我嘗試從另一個提取子字符串時,會發生此錯誤。我認爲它來自我試圖製作的這個操作strApp.length - 2,但我找不到如何解決它。C2296:' - ':非法,左操作數的類型爲'unsigned int

錯誤消息:

C2296: ' - ':非法的,左邊的操作數的類型「無符號整型(__thiscall 的std :: basic_string的,性病::分配器> :: * )(無效)擲()

相關代碼:

this->appName = strApp.substr(strApp.substr(0, strApp.length - 2).find_last_of("\\") + 1, strApp.length); 

任何輝煌的建議,好嗎?

+1

@Paranaix這可能有點強。我們已經*了大部分*問題,但搜索這個特定的問題並不是微不足道的。 –

+0

@KonradRudolph不,我不這麼認爲:他幾分鐘前發佈了同樣的問題(幾乎相同的表述,複製意大利麪......)他得到了很多評論並回答了他的錯誤。現在他創建了一個新賬戶!甚至設法添加更多的錯誤。對不起,但在我看來,有些人無法接受幫助。 – Paranaix

+0

@Paranaix哦,那改變了事情。但[我找不到重複](http://stackoverflow.com/questions/tagged/c%2b%2b?sort=newest&pageSize=30)。 –

回答

3

假設strAppstd::stringlength成員是一個函數,所以您需要調用它來獲取字符串的長度。要調用一個函數,你必須在函數名後括號內放置:

strApp.length() 

由於length函數不帶任何參數,括號是空的。

相關問題