void foreach(int a[], int func(int n))
{
        for(int i = (sizeof(a) / 4) - 1; i > -1; --i)
                a[i] = func(a[i]);
}
 

#include <iostream.h>

int myprint(int i)
{
        cout << i << endl;
        return i;
}

int add1(int i)
{
        return i + 1;
}

void main()
{
        int arr = {0, 1, 2, 3};
        foreach(arr, myprint);
        foreach(arr, add1);
        foreach(arr, myprint);
}