编译工作正常。 运行此程序会导致:
*** Error in `a.out': munmap_chunk(): invalid pointer: 0x00007ffdc19fa7b0 ***
按照我的预期打印数字0到34。据我所知,错误发生在
上delete[] myp;
我不知道自己错过了什么。我做错了什么?
#include <iostream>
using namespace std;
class MyClass{
public:
int value;
MyClass(int v): value(v) {};
};
int main (){
int nc=35;
MyClass *myp[nc];
for(int i=0; i<nc; i++)
{
myp[i] = new MyClass(i);
}
for(int i=0; i<nc; i++)
{
cout << myp[i]->value << endl;
}
delete[] myp;
}