- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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()
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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()
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That's interesting about the moon :)
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page