首页 > 解决方案 > 尝试对字符串使用 += 运算符时,如何解决 C++ 中的错误“不提供调用运算符”?

问题描述

我正在研究字符串向量和字符串映射以及 int 以打印直方图。

我现在需要做的是返回一个字符串计数,从最频繁到不太频繁的元素。到目前为止,这是我遇到问题的代码部分:

string histogram( const vector<string> &v) {
    string st = "";
    map<vector<string>, int> h;
    for(auto ite = v.begin(); ite!= v.end(); ite++ ) {
        if(h.find(v) == h.end()) {
            h[v] = 1;
        } else {
            h[v]++;
        }
    }

    for (auto it: h) {
        st += "[" + it.first + ":" + it.second + "]";
    }
    return st;
}

我不断收到的错误与此行有关:

st += "[" + it.first + ":" + it.second + "]";

我一直在在线检查如何修复此错误或我缺少什么,因为我仍然无法确切地看到如何与字符串的运算符一起工作。

标签: c++stringvector

解决方案


推荐阅读