Le 11/02/2013 19:17, letocha a �crit :
> Le dimanche 10 f�vrier 2013 22:07:00 UTC+1, J-P. Rosen a �crit :
> generic
> a : in positive;
> b : in positive;
>
> package reservoirs is
> ...
> end reservoirs;
>
> package body reservoirs is
>
> ___type array2D_bis is array(1..a,1..b) of voisinage; **STACK OVERFLOW
>
> ___type ecrans_bis is access array2D_bis;
>
> ___sc_bis : ecrans_bis;
> ....
> end reservoirs;
>
> si j'instancie un reservoir avec des valeurs de a et b d�passant quelques centaines...stack overflow
> Alors je peux faire un type acc�s � voisinage....mais faire des acces sur des acces
Deux points importants:
1) Quelle est la taille du type Voisinage? parce que 100x100xbeaucoup,
�a finit par faire de la m�moire...
2) O� le g�n�rique est-il instanci�? Dans un paquetage de biblioth�que,
ou � l'int�rieur d'une proc�dure appel�e par le programme principal?
Parce que dans le premier cas, c'est allou� dans la m�moire globale,
alors que dans le second c'est allou� sur la pile, qui est en g�n�ral
bien plus petite (mais �a peut se r�gler)
>
> Finalement, je pourrais faire une proc�dure tableau(a,b,valeur)
> dans laquelle j'utiliserai un container pour stocker les valeurs de fa�on lin�aire, avec un calcul sur a et b pour la position dans le container.
> �a r�soudrait tous mes stack_overflow.
L�, je n'ai pas compris, il faudrait un peu plus nous d�crire le probl�me.
> Parce que vraiment, je d�teste les types acces.
>
C�, on est bien d'accord...