2012-05-10 16 views
8

क्या एक चर के एक परिशुद्धता को एक चर बनाने के लिए संभव है जिसे रन टाइम पर परिभाषित किया जाएगा? कहो, अगर मैं संकलित करने के लिए प्रयास करें:फोरट्रान - रन टाइम पर एक चर के प्रकार/सटीक सेटिंग

 SUBROUTINE FOO(VARIABLE, PRECISION_VALUE) 

     IMPLICIT NONE 

     INTEGER(4) :: PRECISION_VALUE 
     INTEGER(PRECISION_VALUE) :: VARIABLE 

     RETURN 
     END 

संकलक उत्पादन होता है:

error #6683: A kind type parameter must be a compile-time constant. [PRECISION_VALUE] 
      INTEGER(PRECISION_VALUE) :: VARIABLE 
    --------------^ 
    compilation aborted for trial.f (code 1) 
वैसे भी इसके चारों ओर

? मैं समझता हूं कि KIND के लिए किसी भी मनमानी मूल्य का उपयोग नहीं किया जा सकता है, लेकिन यह इस प्रश्न में मेरी चिंता नहीं है।

+4

शायद http://stackoverflow.com/questions/2560182/fortran-determine-variable-type या http://stackoverflow.com/questions/2257248/how-to-write-wrapper-for-allocate सहायता करेगा आप क्या करना चाहते हैं। –

उत्तर

11

नहीं, यह संभव नहीं है, प्रकार, प्रकार और रैंक जाना जाना चाहिए। हालांकि, आप जेनेरिक सबराउटिन इंटरफेस को उन सभी प्रकार के कार्यान्वयन के साथ परिभाषित कर सकते हैं जिन्हें आप रनटाइम पर नियमित रूप से पारित करने की उम्मीद करते हैं।

संबंधित मुद्दे