在另一个问题中,我问如何编译一个包含大量数据的向量,因为我想要一个包含 107776 个条目的字典的向量,但我无法编译它。
由于这个答案的代码,我解决了它:
char const * const dict[] = {"aaron",...};
但现在的问题是,当我尝试访问一个条目时......
cout<<dict[431104]<<endl;
...程序冻结,Windows 想要关闭它。
为什么会这样?我该如何解决?
编辑:对不起,这是我的错。正如 tbroberg 和 Seth Carnegie 在这个答案中注意到的那样,错误是我认为这sizeof(dict)
是数组的长度(而不是sizeof(dict)/sizeof(*dict)
)。因此,431104 远远超出了数组的范围(其长度为 107776)。