使用类的成员函数访问内部结构成员时出错。您好我无法弄清楚我得到的运行时错误 实际上我正在尝试在类中声明一个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;
}
答案 0 :(得分:4)
此:
UserInformation *obj;
是一个未初始化的指针。试图在其上调用成员函数将导致未定义的行为。
你可以这样做:
UserInformation *obj = new UserInformation();
...
delete obj; // Remember to clean up!
但一般来说,你应该避免使用原始指针和动态分配的内存(即来自new
)。