1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
struct A { int x,y; virtual ~A(){} }; struct B: public A { int z; virtual ~B(){} }; void clean(A array[]) { delete [] array; } int main() { A* arr1 = new A[10]; B* arr2 = new B[10]; // do something clean(arr1); clean(arr2); }