vs2010写代码时,出现了问题,求解答!!在线等

zwd1994 zwd1994 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我使用MFC写一个代码,里面有几个类,为:Cmannager ,mannager, Cregister。然后在Cregister中代码点击ok代码如下:
void Cregist::OnBnClickedOk()
{
// TODO: 注册 用户名user 密码password
UpdateData();
char user[20],password[15];
mannager mann1;

Cmannage manna;
if(USER.IsEmpty())
{
MessageBox(_T("用户名不能为空!"));
return;
}
if(!USER.IsEmpty())
{
if(PASSWORD.IsEmpty())
{
MessageBox(_T("密码不能为空"));
return;
}
}
sprintf(user,"%s",USER);
sprintf(password,"%s",PASSWORD);
mann1.add_s(user,password);



manna.DoModal();
CDialog::OnOK();
}


调用了另一个对话框,Cmannager,里面的ok代码如下:
void Cmannage::OnBnClickedOk()
{
// TODO: Jizhong 集中式,Fensan 分散式,Sfensan受限分散
UpdateData();
mannager test;
if(Choose==0)
{


test.choose_fensan(); -----------------------------------------此处是出问题的地方
}
else if(Choose==1)
{
MessageBox(_T("1"));
}
else if(Choose==2)
{
MessageBox(_T("2"));
}
else
{
MessageBox(_T("必须选取一项!"));
return;
}


CDialog::OnOK();
}
mannager里面主要的几个函数和结构:
public:
struct s_table /*主体表*/
{
char sname[20];
char password[15];
int num_o;
char info[100];
int mannage;/*1为集中式,2为分散式,3为受限分散式*/
struct s_table *next;
};
struct s_table *s;


void mannager::choose_jizhong()
{
(s->mannage)=1; -------------------------------------出问题的地方

}


在此之前已经已经经过该函数处理:
int mannager::add_s(char name[20],char password[15])
{
struct s_table *p;
if(s==NULL)
{
p=(struct s_table *)malloc(sizeof(struct s_table));
strcpy(p->sname,name);
strcpy(p->password,password);
p->num_o=0;
p->mannage=1;
p->next=NULL;
s=p;
return 1;
}
p=(struct s_table *)malloc(sizeof(struct s_table));
strcpy(p->sname,name);
strcpy(p->password,password);
p->num_o=0;
p->mannage=1;
p->next=s;
s=p;
return 1;
}
编译都没有问题,但是运行到要用到上面的时候,出现问题
mannageCXX0030: 错误: 无法计算表达式的值
我查了一下,那个是没有分配空间。但是之前我已经分配了,经过了那个函数的处理。
希望各位大神能帮我解答一下!!!谢谢!!!
...全文
评论 7
收藏 已收藏
分享
返回顶部
zwd1994
C++ 语言 65,214 成员 250,514 内容