It seems that you are confused...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.
1-yes, 2-no
I agree with your first point. It is really just aliasing. I had mis-used some words such as static functions. It is not private function. farray is a pointer to array of functions. farray is a private member of class Object.
So the problem is that the keyword static is not allowed to be omitted, otherwise compiler complains as shown in the error message
[quote]
menu1.cpp:17: 'void (Object::* Object::farray[3]()' is not a static member of 'class Object'
[/quote]
So you see the problem?
So the problem is that the keyword static is not allowed to be omitted, otherwise compiler complains as shown in the error message
[quote]
menu1.cpp:17: 'void (Object::* Object::farray[3]()' is not a static member of 'class Object'
[/quote]
So you see the problem?
Who knows who will love your smile in next minute