当我填充数组(doska)时一切正常,但是当我尝试打印元素时(cout<<
我得到错误
#include <iostream>
using namespace std;
struct doskas{
int number;
char ch;
};
int main(){
auto doska= new doskas[8][8];
auto ss="0abcdefgh";
for(int i=1;i<=8;i++){
for(int j=1;j<=8;j++){
doska[i][j].ch=ss[i];
doska[i][j].number=j;
}
}
for(int i=1;i<=8;i++)
for(int j=1;j<=8;j++){
cout<<doska[i][j].ch;//ERROR
cout<<doska[i][j].number;
}
system("pause");
return 0;
}
最佳答案
从 0 开始尝试并严格小于 8,而不是从 1 到 8。
关于c++ - 在一个简单的程序中访问内存(堆)时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7946002/