erreur de compilation !!



J'ai un problème de compilation et j'aurais besoin d'aide SVP:

j'ai codé un exemple simplifié pour présenter le PB:
il s'agit d'un package qui utilise un autre générique, qui à lui même
utilse un autre package générique, et ce dernier implémente une
fonction ("superieure") dont a besoin le premier package.

1)****************************************************************CODE
entier_paquetage.ads-------------------------------------------------------
with Operations_Paquetage;
package Entier_Paquetage is
type Entier is new integer;
--instanciation de : operations
package operations_Instance is
new Operations_paquetage(
Entier
);
use Operations_Instance;
end Entier_Paquetage;

entier_paquetage.adb-------------------------------------------------------
with Ada.Text_Io;
package body Entier_Paquetage is
B: Boolean;
X: Entier;
Y: Entier;
Z: Entier;
begin
Init_Entier(X, 2);
Init_Entier(Y, 3);
Z:=Addition(X, Y);
B:= Superieure(X,Y);
end Entier_Paquetage;

operations_paquetage.ads_______________________________________________________
with Comparaison_Paquetage;

generic

type Objet is private;
package Operations_Paquetage is
procedure Init_Entier(X: Objet; Val: Integer);
function Addition(X: Objet; Y: Objet) return Objet;

package Comparaison_Instance is
new Comparaison_Paquetage(
Objet
);
use Comparaison_Instance;
end Operations_Paquetage;


operations_paquetage.adb_______________________________________________________
package body Operations_Paquetage is
procedure Init_Entier(X: Objet; Val: Integer) is
begin
X:=Val;
end;

function Addition(X: Objet; Y: Objet) return Objet is
begin
return X+Y;
end;
end Operations_Paquetage;

comparaison_paquetage.ads%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%
generic

type Objet is private;
package Comparaison_Paquetage is
function Superieure(X: Objet; Y: Objet) return Boolean;
end Comparaison_Paquetage;


comparaison_paquetage.adb%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%
package body Comparaison_Paquetage is
function Superieure(X: Objet; Y: Objet) return Boolean is
begin
return X>Y;
end ;
end Comparaison_Paquetage;

2)*****************************************************************ERREUR
COMPIL:
gcc -c entier_paquetage.adb
entier_paquetage.adb:4:01: spec of this package does not allow a body
entier_paquetage.adb:20:08: "Superieure" is not visible
entier_paquetage.adb:20:08: non-visible declaration at
comparaison_paquetage.ads:7


3)******************************************************************QUESTION:
la fonction superieure n'est pas reconnue
pour y remédier, faut t-il absolument instancier comparaison_paquetage
au NIVEAU de entier_paquetage ??????

merci d'avance.
.



Relevant Pages

  • Re: Nachtrag
    ... Friend WithEvents PanelRight As New Panel ... Private Sub Form1_Load(ByVal sender As Object, ... With CheckBoxLine ... End With ...
    (microsoft.public.de.german.entwickler.dotnet.vb)
  • =?iso-8859-1?q?Anf=E4nger_Problem_mit_Update?=
    ... Partial Public Class pvrDataSet ... Public Sub New() ... End Sub ... End Property ...
    (microsoft.public.de.vb.datenbank)
  • Re: Verwirklichung eines Flussdiagramms
    ... Dim diamond1 As New FlowDiagramControl.DiamondClass ... End Class ... Public Class FlowDiagramControl: Inherits Control ... Using brush As New SolidBrush ...
    (microsoft.public.de.german.entwickler.dotnet.vb)
  • Re: Methodenaufruf. Welches Argument angeben?
    ... Public ObjectType As ObjectTypes ... End Enum ... Using p As New Pen ... Dim dObj As New DrawingObject ...
    (microsoft.public.de.german.entwickler.dotnet.vb)
  • Re: DataGrid neu sortiert anzeigen
    ... Public objDataAdapter_Kollegen As New OleDbDataAdapter ' ... Private Sub btn_nach_oben_Click(ByVal sender As System.Object, ... End Sub ... > Dim DataGrid1 As New DataGrid ...
    (microsoft.public.de.german.entwickler.dotnet.datenbank)