有人可以告诉我,即使该代码段编译后,为什么它仍然无法正常工作? [关闭]

问题描述 投票:-1回答:1
        for(int j = 0; j < arr[i]; ++j)
        {
            for(auto itr = temp.begin(); itr != temp.end(); ++itr)
            {
                if((itr -> second) == 1)
                {
                    char it = itr -> first;
                    temp.erase(it);

                }
                else if((itr -> second) > 1)
                {
                    temp[itr -> first] -= 1;
                }
                else
                    continue;
            }
        }

我给出了相应的输入后,编译器崩溃。谢谢!

c++ iterator maps
1个回答
0
投票

我无法发表评论,所以这应该是评论,但我必须在这里发表。没有足够的信息来给出答案。例如,向量的类型是什么?但是我想你会越界。尝试在调试器中运行代码。

© www.soinside.com 2019 - 2024. All rights reserved.