小编Jac*_*ara的帖子

0xC0000005:访问冲突读取位置0x0000000000000008

我正在尝试创建一个名称生成器,它使用从三个不同阵列访问的预设音节.

#include "main.hpp"

Namegen::Namegen() {
}

const char *Namegen::getFirst() {
    const char *name;
    int rNum = rng->getInt(0, 5);
    const char *firstSyllable = start[rNum];
    rNum = rng->getInt(0, 5);
    const char *secondSyllable = mid[rNum];
    rNum = rng->getInt(0, 5);
    const char *lastSyllable = end[rNum];

    name = firstSyllable + *secondSyllable + *lastSyllable;

    return name;
}
Run Code Online (Sandbox Code Playgroud)

每个数组总共有6个音节,因此我将min设置为0,最大值设置为5.总共有6个数字.然而,出于某种原因,看起来它在某处产生了8?我不完全确定异常是在谈论什么,但希望其他人这样做.这是例外(即使它已经在标题中):

0xC0000005: Access violation reading location 0x0000000000000008.
Run Code Online (Sandbox Code Playgroud)

这是我的Namegen.hpp文件(通过main.hpp文件链接):

#pragma once

class Namegen {
public:
    const char *start[6] = { "Ba", "Ce", "Ti", "Mo", "Lu", "Dy" };
    const char *mid[6] …
Run Code Online (Sandbox Code Playgroud)

c++ exception

2
推荐指数
1
解决办法
828
查看次数

标签 统计

c++ ×1

exception ×1