我是 C++ 的新手,我的代码遇到了一些问题。
我的部分代码是我试图为大量具有三个坐标的点分配一个 ID 号。我有一个点结构。Number 是我拥有的点数。它们很多,我从一个文件中得到它们。这就是我正在做的事情:
struct point{
int coord[3];
float color;
};
points *point = new point[100000];
int d=0;
for (int x = 0; x < number; x++){
for (int y = 0; y < number; y++){
for (int z = 0; z < number; z++){
point[d].coord[0] = x;
point[d].coord[1] = y;
point[d].coord[2] = z;
d++;
}
}
这适用于少量,但是当我输入我拥有的实际点数时,它给了我这个错误:CIS560_HW1a.exe 中 0x00E46CD8 的第一次机会异常:0xC0000005:访问冲突写入位置 0x01470000。
如果有这个异常的处理程序,程序可以安全地继续。
我不知道这意味着什么,我无法弄清楚我的程序出了什么问题。我知道其他部分工作得很好,因为当我有这个部分时我只是得到了错误。