首页 > 解决方案 > 通过 [] 访问新定义的向量的问题

问题描述

我对 C++ 很陌生,我正在使用 Xcode 创建一个程序,它可以让你用单词填充向量 <string>,同时用“BLEEP”替换某些不需要的单词。这是代码:

#include "std_lib_facilities.h"

int main()
{

    vector<string> words;
    
    vector <string> disliked;
    disliked[0] = "Brocolli";
    
    string temp;
    
    while (cin >> temp)
    {
        words.push_back(temp);
        
        for(int i = 0 ; i < words.size() ; ++i)
        {
            
            int current = i;

            for(int i = 0 ; i < disliked.size() ; ++i)
            {
                if (words[current] == disliked[i])
                {
                    words[current] = "BLEEP";
                }
            }
            
            cout << words[current] << endl;
        }
    }
}

当我运行它时,它向我显示以下内容:

在此处输入图像描述

标签: c++

解决方案


线

    disliked[0] = "Brocolli";

不好,因为它正在访问具有零元素的向量的第一个元素。

它应该是

    disliked.push_back("Brocolli");

推荐阅读