|
Débuté par no, 10 aoû. 2004 20:59 - 3 réponses |
| |
| | | |
|
| |
Posté le 10 août 2004 - 20:59 |
Bonjour !
J'ai ce mutateur dans une classe qui me permet de changer la valeur de la variable "tab". tab contient un tableau dynamique d'objets MonObjet dynamique.
Cas 1: PROCEDURE setTableau(tab) :tab = tab
Cas 2: PROCEDURE setTableau(tab) :tab= allouer un tableau dynamique de dimension(tab) objet MonObjet dynamique Transfert(&:tab, &tab, dimension(:tab))
Dans le Cas1, l'adresse de la variable :tab et celle de tab sont égales. Dans le Cas2, il semblerait que le tableau tab n'est pas copié correctement.
En effet, si je manipule et traite les données par après, tout marche bien avec le Cas1, mais dans le Cas2, on dirait qu'il manque des données (certaines valeurs nulles), pourtant la source est la même pour les deux méthodes.
Merci de votre temps !
Sébastien |
| |
| |
| | | |
|
| | |
| |
Posté le 11 août 2004 - 10:55 |
Sébastien <no@spam.com> a écrit:
Bonjour ! J'ai ce mutateur dans une classe qui me permet de changer la valeur de la variable "tab". tab contient un tableau dynamique d'objets MonObjet dynamique. Cas 1: PROCEDURE setTableau(tab) tab = tab
Cas 2: PROCEDURE setTableau(tab) tab= allouer un tableau dynamique de dimension(tab) objet MonObjet dynamique Transfert(&:tab, &tab, dimension(:tab)) Dans le Cas1, l'adresse de la variable :tab et celle de tab sont égales. Dans le Cas2, il semblerait que le tableau tab n'est pas copié correctement. En effet, si je manipule et traite les données par après, tout marche bien avec le Cas1, mais dans le Cas2, on dirait qu'il manque des données (certaines valeurs nulles), pourtant la source est la même pour les deux méthodes. Merci de votre temps ! Sébastien
Rassures-moi, le nom du tableau 'Tab', c'est un exemple ou bien c'est le nom que tu utilises vraiment. Parce que dans ce dernier cas, tu as un conflit entre un nom de tableau et un nom de constante.
Eric. |
| |
| |
| | | |
|
| | |
| |
Posté le 11 août 2004 - 18:01 |
Le stockage en mémoire d'un tableau n'est pas forcément contigu, la fonction transfer ne convient donc pas.
A+ florian26@ifrance.com
"Sébastien" <no@spam.com> wrote:
Bonjour !
J'ai ce mutateur dans une classe qui me permet de changer la valeur de la variable "tab". tab contient un tableau dynamique d'objets MonObjet dynamique.
Cas 1: PROCEDURE setTableau(tab) :tab = tab
Cas 2: PROCEDURE setTableau(tab) :tab= allouer un tableau dynamique de dimension(tab) objet MonObjet dynamique Transfert(&:tab, &tab, dimension(:tab))
Dans le Cas1, l'adresse de la variable :tab et celle de tab sont égales. Dans le Cas2, il semblerait que le tableau tab n'est pas copié correctement.
En effet, si je manipule et traite les données par après, tout marche bien avec le Cas1, mais dans le Cas2, on dirait qu'il manque des données (certaines valeurs nulles), pourtant la source est la même pour les deux méthodes.
Merci de votre temps !
Sébastien
|
| |
| |
| | | |
|
| | |
| |
Posté le 11 août 2004 - 18:08 |
On dirait que mon message ne s'est pas formaté correctement, voici le bon exemple:
Cas 1: PROCEDURE setTableau(tab) :tab = tab
Cas 2: PROCEDURE setTableau(tab) :tab= allouer un tableau dynamique de dimension(tab) objet MonObjet dynamique Transfert(&:tab, &tab, dimension(:tab))
Et c'est juste un exemple, effectivement, j'utilise pas vraiment le nom "tab" cest juste pour rendre plus générique, j'utilise pas "MonObjet" non plus !
Merci !
Sébastien
"Eric LAURENT" <laurent.systel@wanadoo.fr> wrote:
Sébastien <no@spam.com> a écrit: Bonjour ! J'ai ce mutateur dans une classe qui me permet de changer la valeur de la variable "tab". tab contient un tableau dynamique d'objets MonObjet dynamique. Cas 1: PROCEDURE setTableau(tab) tab = tab
Cas 2: PROCEDURE setTableau(tab) tab= allouer un tableau dynamique de dimension(tab) objet MonObjet dynamique Transfert(&:tab, &tab, dimension(:tab)) Dans le Cas1, l'adresse de la variable :tab et celle de tab sont égales. Dans le Cas2, il semblerait que le tableau tab n'est pas copié correctement. En effet, si je manipule et traite les données par après, tout marche bien avec le Cas1, mais dans le Cas2, on dirait qu'il manque des données (certaines valeurs nulles), pourtant la source est la même pour les deux méthodes. Merci de votre temps ! Sébastien Rassures-moi, le nom du tableau 'Tab', c'est un exemple ou bien c'est le nom
que tu utilises vraiment. Parce que dans ce dernier cas, tu as un conflit entre un nom de tableau et
un nom de constante.
Eric.
|
| |
| |
| | | |
|
| | | | |
| | |
|