在向量上迭代时出界

 少爷自控_592 发布于 2023-01-29 16:59

我正在制作一个程序,将采用文本和:

    计算找到一个单词的次数

    将它们保存到结构中

    打印出单词的次数.

但是当我尝试将字符串与结构字符串成员进行比较时,我遇到了问题.我得到的矢量超出了范围.请查看以下代码.希望有人能告诉我我做错了什么

#include 
#include
#include 

using namespace std;


struct word_entry {
  string word;
  int amount;
} ;

typedef vector  type_of_vector;

void insert(type_of_vector word_storage,string word_to_insert)
{
  bool word_found =false;

  for(int i = 0;i<=word_storage.size();i++)
    {
      if(word_storage.at(i).word==word_to_insert) //crashes the program
        {
          word_storage.at(i).amount++; 
           word_found=true;
        } 
    }    
}

int main()
 {
   type_of_vector word_vector;
   string word_to_insert="kalle";   
   word_entry insert_word={word_to_insert,1};  
   word_vector.insert(word_vector.end(),insert_word);   
   insert(word_vector,word_to_insert); 
 }

TobiMcNamobi.. 5

它一定要是

for(int i = 0; i < word_storage.size();i++)

使用"小于"'<'而不是"小于或等于"'<='.

1 个回答
  • 它一定要是

    for(int i = 0; i < word_storage.size();i++)
    

    使用"小于"'<'而不是"小于或等于"'<='.

    2023-01-29 17:01 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有