【发布时间】:2018-12-11 23:38:33
【问题描述】:
我正在尝试删除字符串的最后一个字符。由于我使用的是 c++11,所以我使用的是pop_back():
std::string ipAddresses = response.substr(response.find_first_of(",")+1);
responseVector.push_back( ipAddresses.pop_back() );
由于某种原因,我收到编译错误:
error: invalid use of void expression
responseVector.push_back( ipAddresses.pop_back() );
谁能告诉我如何解决这个问题?
【问题讨论】:
-
pop_back 不返回弹出的项目。你需要先调用 back() 然后弹出它。
-
pop_back()返回void -
您正在尝试做两件事。获取最后一个字符,并删除最后一个字符。但是 pop_back 只做这些事情之一。
-
ipAddresses.pop_back() 返回无效。再次查看参考。 'void' 的 push_back 到 responseVector 是错误的。
-
一般提示:cplusplus.com 被认为是劣等资源...
标签: c++ string c++11 substring stdstring