Я делаю небольшую программу. Сначала я сделал заголовочный файл:
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
Можете ли вы сказать мне, что означает ошибка и как я могу избавиться от этого.
UserInfo addUser[100];
имеет элементы с индексами от 0 до 99.
Так что исправьте: —
for( int a = 0; a <= 100; a++){
^^This should be a < 100
}
Других решений пока нет …