Ошибка доступа к элементу структуры внутри с использованием функции-члена класса - PullRequest
0 голосов
/ 01 февраля 2012

Ошибка доступа к элементу структуры внутри с помощью функции-члена класса.Здравствуйте, я не могу выяснить ошибку времени выполнения, которую я получаю.
На самом деле я пытаюсь объявить структуру внутри класса, затем используя метод main, я создаю объект-указатель класса и затем использую этот объект, я пытаюсь получить доступ кфункция-член, которая пытается инициализировать переменные структуры.но это не происходит

class UserInformation
{
public:
    struct UserInfo
    {
        int repu, quesCount, ansCount;
    };


public:
    void getInfo(int userId)
    {
        infoStruct.repu = userId;   //here is the error but i cant figure out why
        next->repu=userId;
    }

    void display()
    {
        cout<<"display";
    }

    UserInfo infoStruct,*next;
    int date;
};

int main()
{

    UserInformation *obj;
    obj->display();
    obj->getInfo(23);
    return 0;

}

1 Ответ

4 голосов
/ 01 февраля 2012

Это:

UserInformation *obj;

- неинициализированный указатель. Попытка вызова функций-членов приведет к неопределенному поведению .

Вы можете сделать это:

UserInformation *obj = new UserInformation();
...
delete obj;  // Remember to clean up!

Но в целом вам следует избегать использования необработанных указателей и динамически выделяемой памяти (т.е. из new).

...