赋值中的不兼容类型为null

时间:2015-04-05 16:34:44

标签: c++ c null

当我尝试将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';

1 个答案:

答案 0 :(得分:0)

您没有正确写入字符串,它应该是

SRecord[index].lastname[0] = '\0';

SRecord[index].lastname = "";

取决于struct的声明方式。在第二种情况下,您可能会覆盖动态分配的字符串指针,在这种情况下它应该是free()