realloc()导致分段错误

时间:2016-08-24 03:40:36

标签: c++

我有这段代码:

Perro **obj = NULL;

obj = (Perro**)malloc(10*sizeof(Perro*));


for (int i = 0; i < 10; i++)
{
    obj[i] = new Perrito((char*)"d",i);
}

realloc(obj,12*sizeof(Perro*));


for (int i = 9; i < 12; i++)
{
    obj[i] = new Perrito((char*)"d",i);
}

for (int i = 0; i < 12; i++)
{
    Perrito *p;
    p = (Perrito*)obj[i];
    cout << p->getEdad() << endl;
}

当我读取我的对象时,我看到内存被转储(分段错误)错误。 当我注释掉realloc行并减少最后一个长度项时,它正常工作,但我需要使用realloc来增加我的polifirmist对象长度。

0 个答案:

没有答案