【发布时间】:2020-08-21 02:46:12
【问题描述】:
vector<string>::iterator newEnd=unique(newstring.begin(),newstring.end(),[](const char &a,const char &b){return a==b && a==" "; });
newstring.erase(newEnd,newstring.end());
我一直在尝试运行这段代码,但它在 lambda 函数上给了我一个错误。
错误:ISO C++ 禁止在指针和整数之间进行比较 [-fpermissive]
这在 HackerRank 中用于名为 split_strings() 的函数。谁能帮我解决一下?
我的意图是删除以空格分隔的字符串中的所有空格,并返回一个指向已更改数组的最后一个元素的指针。
【问题讨论】:
-
vector<string>::iterator newEnd=-- 使用auto newEnd =,避免声明错误的返回类型。