我试图找出字符串中每个元素的出现次数。例如string str =" aabacdbccdd"。 a = 3,b = 2,c = 3,d = 3.
我在下面的循环中遇到错误。 约束和l是字符串。
for (int i = 0; i < constraints.size(); i++)
{
size_t mycount = std::count(l.begin(), l.end(), constraints[i]);
}
错误是: 没有找到一个操作符左侧的操作数&#39; char&#39;
请你帮忙解决这里的错误。
感谢。
答案 0 :(得分:1)
我认为constraints
是string
的容器。
l.begin()
和l.end()
是char
迭代器。
您无法将char
与string
进行比较。
变化:
constraints[i]
到
constraints[i][0]
或尝试这样的事情:
#include <iostream>
#include <string>
#include <algorithm>
int main() {
const std::string alphabet("abcdefghijklmnopqrstuwxyz");
std::string l("aabacdbccdd");
for (const char& c : alphabet) {
size_t mycount = std::count(l.begin(), l.end(), c);
std::cout << c << " = " << mycount << std::endl;
}
}
输出:
a = 3
b = 2
c = 3
d = 3
e = 0
...