Я пытаюсь изменить размер этого массива указателей на объекты. По сути, я пытаюсь создать новый массив указателей на объекты, в два раза больше исходного, заполнить новый исходным, а затем указать исходный на новый.
Похоже, что все работает, пока я не попытаюсь присвоить новый старый.
Если я просто сделаю копию для нового временного массива, он запустится. Если я пытаюсь назначить временный старый, он выдает ошибку.
Вот с чем я работаю:
Работа над этим, который является членом данныхфайла класса:
tiger *tigerDen[10]; //Tiger array
и его расширения следующим образом:
if (tigerIndexTracker + 1 > tigerDenSize)
{
tigerDenSize = tigerDenSize * 2;
tiger* temp[tigerDenSize];
for (int count = 0; count < tigerIndexTracker; count++)
{
temp[count] = tigerDen[count];
}
tigerDen = temp;
}
На самом деле не уверен, что нужно сделать, чтобы это сработало. Хотелось бы помочь.
Точная ошибка, которую я получаю (не уверен, что она понятна):
ошибка: несовместимые типы в присваивании 'tiger * [(((sizetype) (((ssizetype> ((zoo *) this) -> zoo :: tigerDenSize) + -1)) + 1)] 'to' tiger * [10] 'tigerDen = temp;
Естьстрелка, указывающая на оператор присваивания.
Редактировать: tigerDenSize - это просто int, для которого установлено значение 20. tigerIndexTracker - это int, для которого установлено значение 10. По сути, я пытаюсь определить, собирается ли объектбыть добавленным в массив, который будет превышать его предел, и если это так, создайте новый массив, в который я могу переместить все.