【发布时间】:2017-11-19 21:13:39
【问题描述】:
我有一些看起来像这样的代码:
for (int = i; i > (chip.rom.size() - 1); i++) {
//int i = 0;
chip.memory[i + 512] = chip.rom[i];
//i++;
}
chip 是一个结构,其中 memory 和 rom 都是无符号字符的向量
rom 是一个 160 字节的向量,它是我用来测试我的模拟器的游戏 rom。
memory 被归零为 4096 字节,如下所示:
chip.memory = std::vector<BYTE>(4096);
在调试时,我设法发现我在这个 for 语句之后出现了段错误。我感觉我快疯了!我错过了什么明显的错误?
【问题讨论】:
-
欢迎来到 Stack Overflow。请花时间浏览The Tour 并参考Help Center 中的材料,了解您可以在此处询问的内容和方式。发布minimal reproducible example尤为重要。
-
你没有初始化 i
-
好的,谢谢你的链接!
-
@Sopel 谢谢。我不敢相信我错过了。虽然我的第二个向量 chip.memory 没有改变(它仍然归零)。