-6

以下のコードでエラーが発生しました。何が間違っていたか教えてください。ありがとうございました。ケリー buildVectorS 関数で何が間違っていたのかわかりません。何が悪いのか教えてください

[コンパイルして実行] をクリックすると、[名前を入力] が表示されたボックスがポップアップ表示されます。

untitled12.exe が動作を停止したため、プログラムが正常に動作しなくなりました。Windows はプログラムを終了し、解決策がある場合は通知します"`

Enter names:
adams

Thank you.

#include<iostream>
#include<vector>
#include<algorithm>

using namespace std;

void buildVectorS(vector<string> &vect, int numItems){
     cout << "Enter names : " << endl;
     string tmp;
     for(int i = 0; i <=numItems; i++)
        cin >> tmp; 
        vect.push_back(tmp);

      //for(int i = 0; i <= numItems; i++)
      //   vect.push_back(vect[i]);   
}

void displayVectorS(vector<string> vect){
  for(int i = 0; i <vect.size(); i++)
     cout << vect[i] << " " <<endl;
}

int main(){   
    vector<string> names; 
    buildVectorS(names,5);
    displayVectorS(names);
    cout << endl;

    sort(names.begin(), names.end());
    displayVectorS(names);
    cout << endl;  

   system("PAUSE");
   return 0;
}
4

1 に答える 1

1

名前という名前のベクトルがあり、何もない数値を渡そうとします。

int main(){
    vector<string> names; 
    buildVectorS(numbers,10)

    ..........

すべての数字を名前に変更します。

また、質問を編集したので、このコードは機能しているようです。

void buildVectorS(vector<string> &vect, int numItems){
    cout << "Enter names : " << endl;
    string tmp;
    for(int i = 0; i <=numItems; i++){
       cin >> tmp;
       vect.push_back(tmp);
    }
}
于 2013-08-13T17:15:11.873 に答える