Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2926 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [FORTRAN] Problème structure dynamique modifiée dans subroutine

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[FORTRAN] Problème structure dynamique modifiée dans subroutine

n°2221662
infrarouge​77
Posté le 06-03-2014 à 14:48:48  profilanswer
 

Bonjour,
 
J'utilise une structure contenant, pour chaque année, une liste de mois (qui est elle-même une structure contenant une liste de noms de fichiers), comme suit :
 

Code :
  1. TYPE MOIS
  2. CHARACTER (len=2)    :: Numero_Mois
  3. CHARACTER (len=19), DIMENSION(:), POINTER :: Noms_Fichiers ! Liste des fichiers (sessions) du mois
  4. END TYPE
  5. TYPE ANNEE
  6. CHARACTER (len=4)   :: Numero_Annee
  7. TYPE(MOIS), DIMENSION(:), POINTER :: Mois ! Liste des mois avec des mesures
  8. END TYPE


 
Je ne connais pas à l'avance le nombre de mois qui vont être enregistrés pour une année, tout comme je ne sais pas combien de fichiers peuvent appartenir à un mois (cela varie fortement en fonction des années et des mois). D'où la nécessité de l'allocation dynamique donc...
 
 
Dans mon module, j'utilise une première fonction allouant la place nécessaire à l'enregistrement de données dans une variable de type ANNEE. J'aimerais que cette fonction renvoie donc cette variable, afin de l'utiliser en entrée d'une autre fonction, qui va effectuer des calculs dessus.
 

Code :
  1. MODULE Mon_module
  2. IMPLICIT NONE
  3. TYPE MOIS
  4. CHARACTER (len=2)    :: Numero_Mois
  5. CHARACTER (len=19), DIMENSION(:), POINTER :: Noms_Fichiers ! Liste des fichiers (sessions) du mois
  6. END TYPE
  7. TYPE ANNEE
  8. CHARACTER (len=4)   :: Numero_Annee
  9. TYPE(MOIS), DIMENSION(:), POINTER :: Mois ! Liste des mois avec des mesures
  10. END TYPE
  11. CONTAINS
  12. SUBROUTINE Main
  13. IMPLICIT NONE
  14. TYPE(ANNEE), DIMENSION(:), ALLOCATABLE :: Data
  15. CALL Enregistrement_donnees(Data)
  16.         PRINT *,Data
  17. CALL Traitement_donnees(Data)
  18. END SUBROUTINE Main
  19. END MODULE


 
 
 
Problème : impossible de récupérer ce que contient la variable de type ANNEE, avec ce message d'erreur :
 

Citation :

PRINT *,Data
                1
Error: Data transfer element at (1) cannot have POINTER components


 
 
Je ne comprends pas vraiment ce que cela signifie. J'ai eu beau chercher sur internet, les structures dynamiques existent bien et fonctionnent parfaitement, que ce soit avec une subroutine ou une fonction. Est-ce que quelqu'un verrait ce qui cloche ici svp ?
 
 
Merci d'avance pour votre aide.


Message édité par infrarouge77 le 06-03-2014 à 14:49:50
mood
Publicité
Posté le 06-03-2014 à 14:48:48  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [FORTRAN] Problème structure dynamique modifiée dans subroutine

 

Sujets relatifs
[FORTRAN] Ouvrir les fichiers d'un répertoire sans connaitre leur nom[urgent] problème fonction mail OVH
problème avec les caractères spéciaux quote/addslashes insertion MySQL[BASH] Probleme Difference
[FORTRAN] Lecture d'un fichier:problème récupération en-tête +mesuresTrès étrange problème de sheets.select
[LINUX/SGBD] Problème connexion base oracle avec un user linux dbaProblème ScreenShot
probleme CSS avec ie8[résolut]problème avec char** new[] et delete[]
Plus de sujets relatifs à : [FORTRAN] Problème structure dynamique modifiée dans subroutine


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR