मैं एक फोरट्रान व्युत्पन्न प्रकारफोरट्रान व्युत्पन्न प्रकार काम
type :: atype
integer :: n
integer :: a(10)
integer, allocatable :: b(:)
end type
है और मैं इस प्रकार के
type(atype) :: t1, t2
वास्तव में होता क्या है जब मैं निम्न असाइनमेंट करने के दो उदाहरणों है कहो?
t2 = t1
मैं इस में दिलचस्पी है क्योंकि मैं सही ढंग से अर्थ, अदिश घटकों बराबर होना चाहिए व्युत्पन्न प्रकार चर की प्रतियां बनाने के लिए चाहते हैं, सरणी घटकों के प्रत्येक तत्व बराबर होना चाहिए और allocatable सरणियों ही आवंटित आकार होना चाहिए और तत्व बराबर होना चाहिए। फिलहाल मैं एक सबराउटिन लिखूंगा जो प्रतियों को प्रतिलिपि बनाता है और आवंटित करता है।
subroutine copy_atype(from, to)
type(atype) :: from, to
to%n = from%n
to%a = from%a
if (allocated(to%b)) deallocate(to%b)
if (allocated(from%b) then
allocate(to%b(size(from%b)))
to%b = from%b
end if
end subroutine
मैं मानकों में उपयुक्त वर्गों के निर्देशों की सराहना करता हूं।
मैं gfortran 4.7 का उपयोग कर रहा हूँ।
जानना अच्छा है, यद्यपि मैं वास्तव में क्या खोज रहा था। – stiaan