开发者社区> 问答> 正文

一个简单的C++程序,求助。

a123456678 2016-03-20 15:59:13 752

bool func(const string &);
int main(void)
{
vector vec{ "strings", "helloworld", "zay", "uah", "kakaka" };
auto it = partition(vec.cbegin(), vec.cend(), func);
auto begin = vec.begin();
while (begin != it)
{
cout << *begin << endl;
++begin;
}
return 0;
}
bool func(const string& str)
{
if (str.size() >= 5)
return true;
else
return false;
}
出现错误:没有找到接受……类型的左操作数的运算符(或没有可接受的转换)。

C++
分享到
取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:09:46

    cbegin()返回指向范围内第一个元素的 const 迭代器,可以使用此成员函数替代 begin() 成员函数
    partition(vec.cbegin(), vec.cend(), func);这行代码出错了
    把cbegin()改为begin(), cend() 改为end()就ok了

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题