Bonjour,
Toujours dans le cadre d'un projet en ADA, je rencontre un problème assez embêtant: J'ai 3 packages: villes, l_villes et visites. Aucun des trois n'est un générique.
villes est appelé dans l_villes, lui même appelé dans visites. Mais j'ai besoin dans visites d'utiliser des fonctions/procédures définies dans villes. Aussi je comptais redéfinir ces fonctions dans l_villes grâce à "renames" pour ensuite les utiliser directement dans visites.
Mais voilà ça ne marche pas, ou pour être plus précis ça ne marche pas avec les fonctions, les procédures elles sont utilisables dans visites par cette méthode.
Voici un exemple avec 3 fonctions/procédures simples, qui sont définies dans villes.
En premier je les redéfinie dans l_villes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 procedure Put_Nom(V:in Ville); ---------------------------------------------- function Peage_Ville(V:Ville) return Pt_Float; ---------------------------------------------- function Distance_Ville(V:Ville) return Pt_Int_Pos; ----------------------------------------------
Puis je fais de même dans visites:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 -- villes subtype Ville is Villes.Ville; procedure Put_Nom(V:in Ville) renames Villes.Put_Nom; function Peage_Ville(V:Ville) return Pt_Float renames Villes.Peage_Ville; function Distance_Ville(V:Ville) return Pt_Int_Pos renames Villes.Distance_Ville;
Et là Put_Nom est acceptée, mais Peage_Ville et Distance_Ville foirent. Le message d'erreur est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 -- Villes subtype Ville is L_Villes.Ville; procedure Put_Nom(V:in Ville) renames L_Villes.Put_Nom; function Peage_Ville(V:Ville) return Pt_Float renames L_Villes.Peage_Ville; function Distance_Ville(V:Ville) return Pt_Int_Pos renames L_Villes.Distance_Ville;
Si quelqu'un a une idée, parce que là je ne vois pas trop d'où vient le problème. Si personne ne sait j'essaierai de faire des procédures plutôt que des fonctions, mais j'aimerais quand même comprendre...no visible subprogram matches the specification for "Distance_Ville"
no visible subprogram matches the specification for "Peage_Ville"
Partager