The compiler isnt lucky that you havent declared an array. This should work.
FPTR cr1_task_fptr[2] = (FPTR){&function1, &function2};
cr1_task_fptr[0] = &function1;
cr1_task_fptr[1] = &function2;
tip: use the debugger and memory view to explore the details