std :: bad_alloc в ячейке памяти 0x002b123c

Я делаю небольшую программу. Сначала я сделал заголовочный файл:

private:

string UserName, Password;
public:void setUN(string);
void setP(string);

string getUN();

Тогда в моем файле cpp:

    void UserInfo::setUN(string un){

UserName = un;
}string UserInfo::getUN(){

return UserName;
}

После этого в моем основном я делаю объект:

UserInfo addUser[100];

добавлять пользователей

cout<<"Enter Username : ";

getline(cin,tUN);
addUser[0].setUN(tUN);

После этого в моей другой функции void LoginScreen ()

Я сделал тот же объект:

UserInfo addUser[100];

string EUN, EP;
system("cls");
cout<<"Enter Username : ";
cin>>EUN;
cout<<endl;
cout<<"Enter Password : ";
//cin>>EP;

for( int a = 0; a <= 100; a++){
if (EUN == addUser[a].getUN()){
system("cls");
cout<<"OMG HELP MEEE ";
break;
}
}

Он прекрасно работает, когда до этого цикла, и выдает эту ошибку:

std::bad_alloc at memory location 0x002b123c

Можете ли вы сказать мне, что означает ошибка и как я могу избавиться от этого.

1

Решение

UserInfo addUser[100]; имеет элементы с индексами от 0 до 99.

Так что исправьте: —

for( int a = 0; a <= 100; a++){
^^This should be a < 100
}
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]