这个函数哪里出错了
where am I going wrong with this function?
所以我应该将所有回文数从mValues向量移动到mPalindomes向量
我得到的唯一提示是一个伪代码://迭代主值向量//如果值是回文//将其添加到回文向量中//将其从值向量中删除
这就是我想到的:
for (int i = 0; i < mValues.size(); i++)
{
if (IsPalindromeNumber(mValues[i]) )
{
mPalindromes.push_back(mValues[i]);
mValues.pop_back();
}
}
如果有人能告诉我哪里出了问题,我将不胜感激
编辑:我发现问题是我用的是擦除而不是弹出。
进行时
mValues.erase(mValues.begin() + i); // with correction from comments
您修改了mValues
,因此i
开始在mValues
中的其他位置进行索引。一个解决方案是
mValues.erase(mValues.begin() + i);
i--;
但它不是很优雅。最好将回文复制到mPalindromes
,然后在第二次传递中使用std::remove_if
或其他东西
相关文章:
- #定义c-预处理器常量..我做错了什么
- 努力将整数转换为链表。不知道我在这里做错了什么
- 首要问题的答案让值班员搞错了
- 看起来is_nothrow_constructible_v()在MSVC中被破坏了,我错了吗
- .h 和.cpp文件分离时出错,但仅使用 .h 文件时没有错误.我做错了什么?
- 我的C++线程做错了什么?
- 如何正确使用 >=?(a+f()+c)>=0 错了吗?
- 谁能告诉我我用 getline 做错了什么 (cpp) 格式
- 没有输出的合并排序我做错了什么?
- 我正在尝试使用 while 循环从字符串中删除字母,直到没有字母。我在这里做错了什么?
- 在C++中使用 AKS 素数测试计算双胞胎素数 我做错了什么?
- 指针相关的UE4崩溃.我的指针哪里错了?
- 我一直试图弄清楚我在这个链表程序中做错了什么
- 我正在尝试学习如何在 c++ 中传递指针,但出现错误:没有用于调用"test"的匹配函数。我做错了什么?
- FFMPEG,C++,内存泄漏,我做错了什么?
- 我做错了什么?反向字符串 C++
- 我在这个课上做错了什么?
- 我在尝试将多个值push_back向量时出错。我做错了什么?
- 过载时出错 <<。我在这里做错了什么?
- 使用针对Win32的英特尔C++编译器编译Qt时出错,我做错了什么