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

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
Highlighted
Valued Contributor II

The associated-ness of

Jump to solution

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
Highlighted
Valued Contributor II
1 View

The associated-ness of

Jump to solution

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
Highlighted
New Contributor I

That's interesting about the

Jump to solution

That's interesting about the moon :)

0 Kudos