当我尝试将firstname和lastname中的第一个char设置为null并将其返回到1时,我继续收到此错误。
我的代码是......
int DeregisterStudent(int SID, struct studentdata SRecord[])
{
int index;
index = SRecordSearch(SID, MAXRECS, SRecord);
if(index >= 0)
{
SRecord[index].sid = 0;
SRecord[index].lastname = '\0';
SRecord[index].firstname = '\0';
return 1;
}
return 0;
}
我得到的错误是错误:分配中的类型不兼容 对于这两行
SRecord[index].lastname = '\0';
SRecord[index].firstname = '\0';
答案 0 :(得分:0)
您没有正确写入字符串,它应该是
SRecord[index].lastname[0] = '\0';
或
SRecord[index].lastname = "";
取决于struct
的声明方式。在第二种情况下,您可能会覆盖动态分配的字符串指针,在这种情况下它应该是free()
。