eliascm21 Δημοσ. 4 Ιανουαρίου 2012 Δημοσ. 4 Ιανουαρίου 2012 Καλησπέρα! Γνωρίζει κανείς πως γίνεται στην FORTRAN (οποιαδήποτε έκδοση) να έχω ένα δείκτη (pointer) που να δείχνει σε υπορουτίνα; Και σε δεύτερο στάδιο (που είναι και αυτό που βασικά χρειάζομαι), γνωρίζει κανείς αν γίνεται να ορίσω ολόκληρο πίνακα από δείκτες που να δείχνουν σε υπορουτίνες; Ψάχνω εδώ και αρκετή ώρα στο internet αλλά δεν μπορώ να πω ότι έχω βγάλει άκρη. Γνωρίζω ότι τα παραπάνω υλοποιούνται μάλλον έυκολα στην C, αλλά τι γίνεται στην Fortran; Please βοηθήστε... Ευχαριστώ
V.I.Smirnov Δημοσ. 5 Ιανουαρίου 2012 Δημοσ. 5 Ιανουαρίου 2012 Βεβαίως γίνεται και είναι και απλούστερο απ' ότι στην C. Να κάπως έτσι: >procedure (real_func), pointer :: p=> null() ! where the interface to real_func has already been defined ... p => bessel write (*, *) p(2.5) !-- bessel(2.5) Το keyword procedure έχει εισαχθεί στην F2003, ψάξε για compiler F2003 compliant. Όμοια και για πίνακα δεικτών. Δεν το έχω εφαρμόσει όμως ποτέ... -
eliascm21 Δημοσ. 5 Ιανουαρίου 2012 Μέλος Δημοσ. 5 Ιανουαρίου 2012 Την procedure δοκίμαζα, αλλά δεν μου δούλευε. Τελικά το πρόβλημα ήταν ότι το όνομα της υπορουτίνας μου ήταν DO_CALC, και για κάποιο λόγω όταν έβαζα procedure (DO_CALC) χτύπαγε στο compile. Τελικά άλλαξα το όνομα και τώρα δουλεύει! Δυστυχώς, από λίγο ακόμα ψάξιμο στο internet, είδα ότι δεν μπορείς να έχεις πίνακες με τέτοιους pointers. Ο μόνος τρόπος να το κάνεις είναι να βάλεις τον pointer μέσα σε type, και να κάνεις μετά πίνακες από αυτό το type. Ευχαριστώ για την απάντηση.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα