Community
cancel
Showing results for 
Search instead for 
Did you mean: 
New Contributor I
30 Views

associated problem

Jump to solution
program main
    implicit none

    type :: t
        integer :: a
    end type t

    type(t), pointer :: tp
    integer, pointer :: i

    if(associated(tp)) write(*,*) "tp is associated."
    if(associated(i )) write(*,*) "i  is associated."

end program main

Code above outputs a strange result of "i is associated" but tp is not, why is that ?

Intel(R) Visual Fortran Compiler 17.0.0.109 [IA-32] is the current compiler, and I also tried Linux version of ifort 13.1.1 and nothing wrong appears, thanks for reply.

0 Kudos

Accepted Solutions
Valued Contributor II
30 Views

The associated-ness of uninitialised pointer variables is undefined. So it could actually be true or false depending on the phase of the moon.

To be sure you have reliable results, always initialise them first, for instance:

type(t), pointer :: tp => null()

View solution in original post

0 Kudos
2 Replies
Valued Contributor II
31 Views

The associated-ness of uninitialised pointer variables is undefined. So it could actually be true or false depending on the phase of the moon.

To be sure you have reliable results, always initialise them first, for instance:

type(t), pointer :: tp => null()

View solution in original post

0 Kudos
New Contributor I
30 Views

That's interesting about the moon :)

0 Kudos