From the manual for call_user_func()
Note that the parameters for call_user_func() are not passed by reference.
So yea, there is your answer. However, there is a way around it, again reading through the manual
call_user_func_array('test', array(&$b));
Should be able to pass it by reference.