jMfOvO 2023-05-11 11:30 采纳率: 33.3%
浏览 207

引发异常0xC0xC0000005: 读取位置 时发生访问冲突。

0x00007FFA01CC56D5 (ucrtbased.dll)处(位于 test.exe 中)引发的异常: 0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突。
然后后面那个new的指针也没有运行成功
这个应该怎么解决啊,代码如下

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
class Teacher {
private:
    char NAME[30], GENDER[20], DEPT[20];
    int AGE;
public:
    void Register(const char name[30], const char gender[20], int age, const char dept[20]) {
        strcpy(NAME, name);
        strcpy(GENDER, gender);
        AGE = age;
        strcpy(DEPT, dept);
    }
    void ShowMe();
    Teacher(const char* name, const char* gender, int age, const char* dept) {
        strcpy(NAME, name);
        strcpy(GENDER, gender);
        AGE = age;
        strcpy(DEPT, dept);
        cout << "正在生成1个教师类对象,姓名为" << NAME << endl;
    }
    ~Teacher() {
        cout << "正在注销1个教师类对象,姓名为" << NAME << endl;
    }
}; 
void Teacher::ShowMe() {
    const char *m = "male";
    const char* f = "female";
    cout << "该教师姓名为:" << NAME << ",性别为:" << GENDER << ",年龄为:" << AGE << endl;
    if (strcmp(GENDER, m) == 0)
        cout << "该教师还有" << 60 - AGE << "年退休" << endl;
    else if (strcmp(GENDER, f) == 0)
        cout << "该教师还有" << 55 - AGE << "年退休" << endl;
}
int main() {
    Teacher t1[2]{ {"TOM","male",30,"计算机院"},{"JERRY","female",30,"计算机院"} };
    t1[0].ShowMe();
    t1[1].ShowMe();
    Teacher** p = new Teacher * [2];
    p[0]->Register("张三", "male", 30, "计算机院");
    p[1]->Register("李四", "female", 30, "计算机院");
    p[0]->ShowMe();
    p[1]->ShowMe();
    delete[]p;
    return 0;
}

  • 写回答

2条回答 默认 最新

  • 垄断的5心 2023-05-11 11:45
    关注

    这个问问gpt4看看能不能回到,我试了试

    评论

报告相同问题?

问题事件

  • 创建了问题 5月11日

悬赏问题

  • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
  • ¥50 paddleocr带斜线的0很容易识别成9
  • ¥15 电子档案元素采集(tiff及PDF扫描图片)
  • ¥15 flink-sql-connector-rabbitmq使用
  • ¥15 zynq7015,PCIE读写延时偏大
  • ¥15 使用spss做psm(倾向性评分匹配)遇到问题
  • ¥20 vue+UEditor附件上传问题
  • ¥15 想做个WPS的自动化代码,不知道能做的起不。
  • ¥15 uniApp,生成安卓安卓包后,黑暗主题中间内容不生效,底部导航正常
  • ¥15 斯坦福自动漂移非线性模型反解