weixin_50081579 2022-01-19 22:46 采纳率: 0%
浏览 70

C++,遇到访问权限问题,求帮助。

F5后出现出现窗口

img

输出列表:
0x00007FF6E7506438 处(位于 Struct.exe 中)引发的异常: 0xC0000005: 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突。
引发了未经处理的异常:读取访问权限冲突。
_Pnext 是 0xF(还有15个F)。

书写的代码:

#include<iostream>
#include<string>
using namespace std;

//案例:每名老师带5个学生,一共3名老师:
//老师结构体中:老师姓名和一个存放5个学生的数组
//学生结构体中:学生姓名和学生分数

//学生结构体
struct student
{
    string sname;
    int score;
};

//老师结构体;
struct teacher
{
    string tname;
    struct student sarr[5];
};

void allocateSpace(struct teacher tarr[], int len)
{
    string nameSeed = "ABCDE";
    //给老师赋值;
    for (int i = 0; i < len; i++)
    {
        tarr[i].tname = "Teacher_";
        tarr[i].tname += nameSeed[i];

        //通过循环给每名老师所带的学生赋值
        for (int j = 0; j < 5; j++)
        {
            tarr[i].sarr[j].sname = "Student_";
            tarr[i].sarr[j].sname += nameSeed[i];
            int random = rand() % 61 + 40;
            tarr[i].sarr[j].score = random;
        }
    }
}

//打印所有信息的函数
void printInfo(struct teacher tarr[], int len)
{
    for (int i = 0; i < len; i++)
    {
        cout << "老师的姓名:" << tarr[i].tname << endl;
        for (int j = 0; j < 5; j++)
        {
            cout << "\t学生的姓名:" << tarr[i].sarr[j].sname << " "
                << "学生的分数:" << tarr[i].sarr[j].score << endl;
        }
    }
}

int main()
{
    //创建三名老师的数组

    struct teacher tarr[3];
    //通过函数给三名老师的信息赋值,并给老师带的学生信息赋值;

    
    int len = sizeof(tarr) / sizeof(tarr[0]);

    allocateSpace(tarr, len);
    //打印所有老师及所带学生信息

    printInfo(tarr, len);

    system("pause");
    return 0;
}
  • 写回答

2条回答 默认 最新

  • 关注

    代码运行没有问题,VS2008、vs2022都跑过了,你把工程清理一下,重新编译运行。可能是之前项目编译有残留导致的。工程里只留当前的代码,其它代码先从工程中移除。

    img

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 1月19日

悬赏问题

  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)