slot出现异常0xC0000005: 读取位置时发生访问冲突。

用的是vs+qt把这个slotclick程序注释掉后运行就没有问题, 加上之后就一直出现异常
#include "range.h"
#include "edit.h"
#include <QTextCodec>

#define Mtr(s) (unCodec->toUnicode(s))

Edit::Edit(QWidget* parent) : QDialog(parent)
{
    this->setFixedSize(1000, 800); //设置窗体固定大小
    
    connect(ui.toolButton_2, SIGNAL(clicked()), this, SLOT(slotclicked1112()));
    ui.setupUi(this);
    
}


void Edit::slotclicked1112()//删除
{
    int u = 0;
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
    QString text = QTextCodec::codecForName("GBK")->fromUnicode(ui.lineEdit->text());
    QString qid = ui.lineEdit_2->text();
    string id = qid.toStdString();
    for (int k = 0; k < number; k++) {
        if (QString::compare(stu[k].name, text) == 0 && stu[k].num == id)
        {
            u++;
            for (; k + 1 < number; k++) {
                stu[k] = stu[k + 1];
                stug[k] = stug[k + 1];
                stue[k] = stue[k + 1];
                stuj[k] = stuj[k + 1];
                stus[k] = stus[k + 1];
            }
        }
        if (u == 0) {
            QMessageBox::information(0, QString::fromLocal8Bit("弹窗"), QString::fromLocal8Bit("不存在该学生"));
        }
    }

}

在那个slotclicked1112就一直报错有未经处理的异常: 0xC0000005: 读取位置时发生访问冲突。

在网上搜了搜可能是指针相关问题?也没找到具体错误在哪, student是定义的类,stu,stug之类的都是student数组

求指点一二

把 ui.setupUi(this);放在最前面,ui没有初始化就无法访问你的控件


Edit::Edit(QWidget* parent) : QDialog(parent)
{
    ui.setupUi(this);

    this->setFixedSize(1000, 800); //设置窗体固定大小
    
    connect(ui.toolButton_2, SIGNAL(clicked()), this, SLOT(slotclicked1112()));