根据你提供的代码,你定义了一个结构体 st_subject
,其中包含了 st_subject_Type
类型的成员变量。如果 st_subject_Type
没有默认构造函数或者已删除其默认构造函数,则编译器会报错。
要正确定义 st_subject
结构体,你可以按照以下方式修改:
struct st_subject
{
int subject_number; // 题目序号
int subject_type; // 题目类型
QString subject_name;
st_subject_Type subject_Type;
QImage image;
int score;
// 构造函数(如果需要)
st_subject(int number, int type, const QString& name, const QImage& img, int sc)
: subject_number(number), subject_type(type), subject_name(name),
subject_Type(img, sc), image(img), score(sc) {}
// 默认构造函数(如果需要)
st_subject() = default;
// 析构函数(如果有必要)
~st_subject() = default;
// 赋值运算符重载(如果需要)
st_subject& operator=(const st_subject& other) = default;
};
这样,在创建 st_subject
对象时,会调用 subject_Type
的自定义构造函数来初始化该成员变量。
请注意替换代码中的 st_subject_Type
为正确的类型名,并根据实际需求进行适当修改。希望这能解决你的问题!如有其他疑问,请随时提问。
内容由零声教学AI助手提供,问题来源于学员提问