1) The sample you gave above is NOT a declaration of member function. Instead, the typdef statement simply aliases a data type of member function pointer as "Omf" for the ease of reference.
2) No matter farray is declared as static or not, the syntax is acceptable! That is, there is NO compelling reason that farray must be declared static. Please double check.