Hi, Do you have an external declaration for f_x, or an interface for it in foofunc1 and foofunc2 ? On Oct 27, 2008, at 12:45 PM, Tuan, Hoang-Trong wrote: > Any one can help me, > I define a module to contain a list of functions. These function > has one > arguments f_x which should be a function > > MODULE MY_UTILITIES > IMPLICIT NONE > > CONTAINS > REAL FUNCTION FooFunc1(f_x, a, b) > ... > FooFunc1 = f_x(a-b) > END FUNCTION > > REAL FUNCTION FooFunc2 (f_x, a, b) > ... > FooFunc2 = FooFunc1 (f_x, a, b) ! error at this point > > END FUNCTION > END MODULES > > PROGRAM MY_PROGRAM > USE MY_UTILITIES > EXTERNAL G_X > REAL :: a, b > INTEGER :: errCode > > ... > errCode = FooFunc1(G_X, a,b) > END PROGRAM MY_PROGRAM > > REAL FUNCTION G_X (...) > END FUNCTION > > Ignoring other details of the functions. Eventhough I don't call the > FooFunc2 function inside main program, when I compile the program, > an error > is popped up: > error 327 - In the INTERFACE to FooFunc1, the first dummy > argument > (F_X) was of type REAL(KIND=1) FUNCTION, whereas the actual argument > is of > type REAL(KIND=1) > > NOTE: I use SilverFrost Plato IDE (Fortran 95 compiler). > > Tuan. > George Mason Univ. -- Cheers! Dan Nagle