Вы пытаетесь использовать Массивы переменной длины .К сожалению, C ++ не позволяет им.(хотя некоторые компиляции допускают их по расширению)
Вместо этого вам нужно динамически распределить массив с помощью new
.(и вручную освободить позже с помощью delete
)
Вы уже делаете это правильно с:
IntPtr = new int[arraySize];
Теперь вы можете сделать то же самое с переменной list
:
Contact *list = new Contact[arraySize];
delete [] list;
В качестве альтернативы вы можете использовать класс vector
, который часто предпочитается динамическим массивам.
vector<Contact> list(arraySize);