2011-04-10 7 views
0

J'ai des problèmes pour stocker un noeud dans une listeListe de noeuds dans deux boucles distinctes (non imbriquées). Il y a un gros problème de portée. J'ai besoin de lire dans un certain nombre de valeurs dans la première pour la boucle et stocker des valeurs à ce noeud, mais alors je dois utiliser une autre boucle pour lire une valeur complètement différente non accessible dans la première et la stocker sur le même nœud. J'ai essayé de rendre ce noeud global, mais cela ne semble pas fonctionner. Et je ne peux pas l'initialiser avant la boucle for car les valeurs nécessaires pour l'associer sont dans deux boucles distinctes comme je l'ai mentionné qui ne sont pas imbriquées. Il doit y avoir une solution simple à ce problème que je ne vois pas.Variables locales et globales

+2

Bien montrer ce que vous avez – MByD

+1

Si vous postez le code que vous avez, il pourrait Aidez-nous à trouver la solution que vous ne voyez pas. :) – MikeTheReader

+1

code? (c'est-à-dire, "poster du code, s'il vous plaît ...") – andersoj

Répondre

0

Nous n'avons pas besoin de voir le code - d'autant plus qu'il est incorrect - mais nous avons besoin de voir une description claire et non ambiguë du problème. Dans le cas contraire, si le problème n'est pas défini, toute solution n'a pas de sens car elle pourrait être la solution correcte à un problème complètement différent.

Voici ma conjecture à ce que vous faites:

  1. définissiez le tableau en dehors de la portée des 2 boucles.
  2. Parcourez la première boucle de lecture dans les noeuds (je suppose que vous initialisez un tableau de noeuds et devez lire les informations de chaque noeud et les stocker dans le tableau.)
  3. deuxième boucle apportant des modifications aux nœuds que vous avez définis dans la première boucle

Maintenant, vous devez clairement référencer le nœud pour les deux boucles, c'est-à-dire un ID ou une clé unique, mais ce n'est pas clair. Il serait utile que vous puissiez décrire votre problème plus clairement

+0

Oui, vous avez décrit le problème correctement. Je ne peux pas initialiser le noeud à autre chose que null jusqu'à ce que j'obtienne l'information de la première boucle. Il semble que les informations de la première boucle ne soient pas enregistrées dans les nœuds lorsque je les ré-accèderai dans la deuxième boucle. – user700448

+0

@ user700448: Alors vous avez un bug, mais l'implémentation d'un design douteux n'est pas la façon de corriger le bug, le débogage l'est. Votre solution consiste à découvrir pourquoi les données ne sont pas enregistrées. –

+0

J'utilise juste un nom pour référencer chaque noeud – user700448

Questions connexes