Мне сказали, что вместо использования массива я мог бы использовать вектор для хранения пользовательских данных.Преимущества использования вектора заключаются в том, что нет необходимости объявлять количество элементов, которые будет иметь вектор, и если вы добавите значение к уже заполненному вектору, вектор автоматически увеличит свой размер.Я также хотел бы, чтобы страж вышел из цикла ввода.Однако, когда я пытаюсь реализовать это, я получаю ошибку во время выполнения.
Я думаю, что ошибка находится в строке 14 или строке 17.
сообщение об ошибке
Ошибка отладочного подтверждения
Программа: C: \ Users \ Grayson \ source \ repos \ AddUp.exe Файл: d: файлы программы \ vc \ tools \ msvc \ 14.16.27023 \ include \ vector Line1733
Выражение: векторный индекс выходит за пределы диапазона
, чтобы узнать, как ваша программа может вызвать ошибку подтверждения, см. документацию по утверждениям в Visual C ++.
Мой код:
#include <iostream>
#include <vector>
использование пространства имен std;
int main()
{
vector<int>userIn;
int numElements;
int index=0;
cout << "Enter your inputs. Enter -1 to quit." << endl;
while (userIn[index] != -1)
{
cout << "Input index #" << index << ": " << endl;
cin >> userIn[index];
index++;
}
cout << "done";
return 0;
}