c++ setting string attribute value in class is throwing "Access violation reading location"
- by user259789
I am having some trouble getting this simple code to work:
class CreateUserView
{
public:
CreateUserView(void);
~CreateUserView(void);
UserController* controller;
void showView();
string name;
string lastname;
string address;
string email;
string dateOfBirth;
};
All i need is to set these attributes in the implementation with getline().
CreateUserView::CreateUserView(void)
{
}
void CreateUserView::showView()
{
cout << endl << " New User" << endl;
cout << "--------------------------" << endl;
cout << " Name\t\t: ";
getline(cin, name);
cout << " Lastname\t: ";
getline(cin, lastname);
cout << " Email\t\t: ";
getline(cin, email);
cout << " ===============================" << endl;
cout << " 1. SAVE 2.CHANGE 3.CANCEL" << endl;
cout << " ===============================" << endl;
cout << " choice: ";
int choice;
cin >> choice;
cin.ignore();
controller->createUser_choice(choice);
}
I keep getting this "Access violation reading location" error at this line:
getline(cin, name);
what's the best way of assigning a value to an std::string attribute of a class?
even name = "whatever" is throwing that error!!
thanks