小编Tau*_*Bai的帖子

如何正确使用这个迭代器?

我正在尝试使用容器来存储字符串的迭代器s,但是当我运行它时我遇到了段错误.正如您将在下面看到的那样,错误似乎随之而来char temp = **itbegin;,这可能意味着我无法通过前一个迭代器分配任何值.

为什么?我是否误用了迭代器?如何正确使用迭代器?

#include <iostream>
#include <vector>
using namespace std;
string reverseVowels(string s);

int main()
{
    string s ="hello";
    cout << reverseVowels(s);
}
string reverseVowels(string s) {
    string::iterator iter = s.begin();
    string::iterator iterend = s.end();
    vector<string::iterator> iteratorbox;
    for(;iter != iterend ; ++iter){
        if((*iter) == 'a' &&
           (*iter) == 'e' &&
           (*iter) == 'i' &&
           (*iter) == 'o' &&
           (*iter) == 'u'){
               iteratorbox.push_back(iter);
           }

    }
    auto itbegin = iteratorbox.begin();
    auto itend =   iteratorbox.end() ;
    --itend; …
Run Code Online (Sandbox Code Playgroud)

c++ containers stl c++11

2
推荐指数
1
解决办法
99
查看次数

为什么这个2D向量会导致段故障(核心转储)

#include <iostream>
#include <vector>

int main() 
{
    std::vector<std::vector<int>> a;
    a[0] = {1,2,3,4,5};
    a.push_back({12,123,123,1,3,1,23});
    size_t size = a.size();
    std::cout << size << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

g ++编译器传递了这个程序,但是当我运行它时会出现这个错误

分段故障(核心转储)

怎么解决?如何计算此2D矢量中的所有元素?

c++ size vector

1
推荐指数
1
解决办法
343
查看次数

标签 统计

c++ ×2

c++11 ×1

containers ×1

size ×1

stl ×1

vector ×1