Не заполняются элементы vector

В последнем цикле элементы не выводятся. Пробовала выводить по отдельности - они пустые.

    cout << "Enter amount of the students: ";
    cin >> students_amount;
    cin.ignore(32767, '\n');

    vector<string> students_names(students_amount);

    for(int i = 0; i < students_amount; i++){
        string name;

        cout << "Enter " << i+1 << "th student name: ";
        getline(cin, name);

        students_names.push_back(name);
    }

    cout << "Students list: " << endl;
    for(int i; i < students_amount; i++){
        cout << students_names[i] << endl;
    }

    return 0;```


Ответы (1 шт):

Автор решения: Mikhailo

Если пишете

vector<string> students_names(students_amount);

то заполняйте как

students_names[i] =  name;

Или, если push_back, то

vector<string> students_names;

push_back дополняет вектор новыми элементами.

→ Ссылка