当我尝试从另一个子字符串中提取子字符串时,会发生此错误。我认为它来自我正在尝试制作的这个操作strApp.length - 2
,但我找不到如何修复它。
错误讯息:
C2296:' - ':非法,左操作数的类型为'unsigned int(__thiscall 的std :: basic_string的,性病::分配器> :: * )(void)throw()
相关代码:
this->appName = strApp.substr(strApp.substr(0, strApp.length - 2).find_last_of("\\") + 1, strApp.length);
有什么好的建议吗?
答案 0 :(得分:3)
假设strApp
是std::string
,length
成员是一个函数,所以你需要调用它来获取字符串的长度。要调用函数,必须在函数名称后面加上括号:
strApp.length()
由于length
函数不带任何参数,因此括号为空。