我正在写这个函数
vector<string> SplitIntoWords(const string& s) {
vector<string> v_str = {};
string::iterator str_b;
str_b = begin(s);
// TODO some action here
return v_str;
}
Run Code Online (Sandbox Code Playgroud)
我需要声明一个迭代器,它将等于字符串s的开头,这是我函数中的一个参数.
问题出在线上str_b = begin(s);- 代码不能用它编译.为什么这样,我该如何解决?
由于s是const-qualified,begin(s)返回一个string::const_iterator:
string::const_iterator str_b;
str_b = begin(s);
Run Code Online (Sandbox Code Playgroud)
或者更好,让我们从初始化程序中auto推导出str_b类型:
auto str_b = begin(s);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71 次 |
| 最近记录: |