我很困惑为什么range-for在我的例子中使用 ref ?
#include <vector>
#include <unordered_map>
using namespace std;
int main()
{
const unordered_map<char, string> d2c_map= { {'1', "abc"} };
const string digits{"1"};
vector<string> R;
for(const auto c : d2c_map.at(digits[0])) {
R.push_back(c); // <-------------------------???
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
错误表明 c 的类型是const char&:
error: no matching function for call to 'std::vector<std::__cxx11::basic_string<char> >::push_back(const char&)'
Run Code Online (Sandbox Code Playgroud)
如何将字符串的每个字符推送到字符串向量中?
这一行试图将 a 添加char到 a vector<string>:
R.push_back(c);
Run Code Online (Sandbox Code Playgroud)
如果要添加从 构造的字符串char,可以执行以下操作:
R.push_back({c});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
99 次 |
| 最近记录: |