Смотрите комментарии добавлены к коду:
int count=0;
if(!array)
array=(Type*) calloc(count,sizeof(Type*); // Problem:
// missing)
// use sizeof(Type)
// calling calloc with count being zero
// so you do not allocate any memory
// use 1 instead of count
array[c].setName(EditName->Text);
c++;
count++;
array=(Type*)realloc(array,count*sizeof(Type*)); // Problem:
// use sizeof(Type)
так это должно выглядеть:
int count=0;
if(!array)
array=(Type*) calloc(1,sizeof(Type));
array[c].setName(EditName->Text);
c++;
count++;
array=(Type*)realloc(array,count*sizeof(Type));
Переменная c
должна быть инициализирована в ноль перед запуском этого кода
Аналогично array
сусло nullptr
перед запуском этого кода
EDIT
Там, кажется, еще одна проблема, если вы намерены запустить этот код несколько раз (который я предполагаю, что вы).
Эта линия:
array=(Type*)realloc(array,count*sizeof(Type));
^^^^^
Don't use count here as you always sets count to zero
Магистраль должна быть:
array=(Type*)realloc(array,c*sizeof(Type));
В целом, кажется, нет никакого реального использования count
Почему бы не использовать 'зЬй :: VECTOR' ? – NathanOliver
предоставьте [MCVE]. Что такое 'c',' array' и 'Type'? – user463035818
Просьба уточнить. * Это не работает * не объясняет, в чем проблемы. –