使用类的成员函数访问内部结构成员时出错

时间:2012-02-01 19:07:35

标签: c++ class function struct member

使用类的成员函数访问内部结构成员时出错。您好我无法弄清楚我得到的运行时错误 实际上我正在尝试在类中声明一个struct然后使用main方法创建类的指针对象然后使用该对象我试图访问尝试初始化struct变量的成员函数。但它没有发生

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 个答案:

答案 0 :(得分:4)

此:

UserInformation *obj;

是一个未初始化的指针。试图在其上调用成员函数将导致未定义的行为

你可以这样做:

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

但一般来说,你应该避免使用原始指针和动态分配的内存(即来自new)。