字符串/整数向量 - cout

时间:2015-01-30 18:21:21

标签: c++ vector

我尝试制作一个程序,要求用户输入由10个人吃掉的煎饼,然后列出它们。人们吃的名字和煎饼被储存在不同的载体中。从矢量打印值时出现错误。

#include <iostream>
#include <bits/stl_vector.h>
#include <bits/stl_bvector.h>

using namespace std;

int main() {
    vector<int> pancakes;
    vector<string> name;
    int temp_num;
    for (int x = 0; x < 10; x++) {
        cout << "Enter pancakes eaten by person " << x+1 << endl;
        cin >> temp_num;
        pancakes.push_back(temp_num);
        name.push_back("Person " + x);
    }
    for (int x = 0; x < 10; x++){
        cout << name[x] << " ate " << pancakes[x] << " candies." << endl;
    }
    return 0;
}

我得到的错误是&#34;下标值不是数组。&#34;。

1 个答案:

答案 0 :(得分:3)

您无法添加std::stringint,因此不允许这样做

name.push_back("Person " + x);

但是,您可以使用std::to_string然后连接。

name.push_back("Person " + std::to_string(x));

此外,我不确定为什么你有<bits>包含,你应该只有

#include <iostream>
#include <string>
#include <vector>