oneel@heawk1.gsfc.nasa.gov ( Bruce Oneel ) (05/20/91)
This may be a silly question, but, why is the static needed on member function a in class test? I've found this in both g++ as well as Borland's C++ and I don't understand why from reading the ARM... The error message produced when I remove static from the 4th line in g++ is testcc: In function int main(): test.cc:25: bad argument 0 for functino `test1::b (auto long int (*)(int))' (type was long in (class test::*)(int)) Thanks in advance for all of your help!! bruce This compiles ok. =================CUT HERE ================== class test { public: static long a (int); }; class test1 { public: long b (long (*)(int)); }; long test::a(int i) { return i; } test Atest; test1 Btest; int main(void) { Btest.b(Atest.a); return 0; } =================CUT HERE ================== This doesn't... =================CUT HERE ================== class test { public: long a (int); }; class test1 { public: long b (long (*)(int)); }; long test::a(int i) { return i; } test Atest; test1 Btest; int main(void) { Btest.b(Atest.a); return 0; } ==============CUT HERE================== Thanks!!! bruce -- Bruce O'Neel oneel@heasfs.gsfc.nasa.gov NASA/GSFC/STX/Code 664