根据提供的代码和错误信息,问题出现在 st_subject_Type
结构体的析构函数上。错误提示指出析构函数被删除了。
默认情况下,当一个结构体(或类)包含非静态成员变量且没有显式定义析构函数时,编译器会自动生成一个默认析构函数。然而,如果结构体中的成员变量有需要特殊处理的资源(如动态分配的内存),那么最好手动定义析构函数来确保这些资源被正确释放。
要解决这个问题,请在 st_subject_Type
结构体中添加一个合适的析构函数:
~st_subject_Type() {}
通过添加空大括号,你可以定义一个空的析构函数。请注意,如果你的结构体中没有需要特殊处理的资源,你可以将析构函数设置为默认的删除状态:
~st_subject_Type() = default;
希望这可以帮助你解决问题。如果还有其他疑问,请随时提问。
内容由零声教学AI助手提供,问题来源于学员提问