You are... Well, doing a lot of things wrong. FOr example, how can line 30 run if the if statement on 17 performs the required operations? listDyn is deleted, so how can it hold elements?
In lines 17-28 you're attempting to allocate a new larger array. That's fine, but what you're missing is assigning the new array to the old pointer.
After line 27:
1 2
listDyn = listDynNew;
As you have it, you have two problems.
1) A memory leak. the pointer to listDynNew (line 19) goes out of scope at line 28, so you've lost addressibility to the new, larger array.
2) Illegal memory reference. You delete listDyn at line 27, then attempt to reference the memory you just deleted at line 30.