Function has no implicit type
I am trying to learn to work with functions. I have the following code: program main implicit none write(*,*) test(4) end program integer function test(n) implicit none integer, intent(in) :: n integer :: i, ans ans=1 do i=1,n ans=ans*i enddo test=ans end function test When I compile (with gfortran 4.1.2), I get the following error: In file test.f90:4 write(*,*) test(4) 1 Error: Function 'test' at (1) has no IMPLICIT type Move the line end program to the end of your source file and, in its place, write the line contains As you have written your program it has no knowledge of the function test