मैं यह जांचना चाहता हूं कि व्युत्पन्न प्रकार के अंदर एक पॉइंटर पहले ही परिभाषित किया गया है या नहीं। मैं तुम्हें मेरी समस्या को दिखाने के लिए निम्नलिखित सरल कोड लिखा है:व्युत्पन्न प्रकार में एसोसिएटेड पॉइंटर्स? gFortran बनाम इंटेल
T F
जबकि एक ही कोड विंडोज पर संकलित:
program test
implicit none
type y
real(8), pointer :: x(:)
end type y
type(y), pointer :: w(:)
allocate(w(2))
allocate(w(1)%x(2))
write(*,*) associated(w(1)%x), associated(w(2)%x)
end program test
gFortran 4.4.1 के साथ इस कोड संकलन और Ubuntu पर इसे चलाने परिणाम देता है इंटेल फोरट्रान संकलक 11.0 के साथ विस्टा प्रदान करता है:
T T
पहला परिणाम (gFortran) मैं वास्तव में क्या उम्मीद कर रहा हूँ। लेकिन तथ्य यह है कि इंटेल कंपाइलर एक अलग परिणाम प्रदान करता है मुझे डर लगता है कि मेरा कोड सही नहीं हो सकता है। क्या मैं इस उदाहरण में पॉइंटर्स के साथ बहुत कुछ गलत कर रहा हूं? कोई विचार या स्पष्टीकरण?
आपकी मदद के लिए अग्रिम धन्यवाद!
बहुत बहुत धन्यवाद !! यह वास्तव में समस्या थी। आपके द्वारा सुझाए गए समाधान इंटेल कंपाइलर और gFortran दोनों के साथ बहुत अच्छी तरह से काम करता है। – remek