Fórumok
Hello!
A következő kódban MelysegiBejárásban meghívott iteratornál hibát jelez, de nem tudom, hogy mi a gond, valahogy nem egyezik meg az iterátor típusa?
Akinek van ötlete szívesen fogadom!
Egy két deklaráció hiányzik, mert az mindenkinek egyértelmü :)
class MelysegiBejaras
{
MBnode nodes;
public void MelysegiB(Hashtable ht, Point s)
{
nodeArcList = ht;
start = s;
foreach (DictionaryEntry de in nodeArcList)
{
nodes.Add((Point)de.Key, 0, 0, 0, nil);
}
nodes.Set(start, 0, 0, 0, nil);
msz = 0;
bsz = 0;
//ez az iterator nem müködik
foreach (DictionaryEntry de in nodes)
{
}
}
}
class MBnode
{
Hashtable nodeMB;
internal sealed class Unit
{
public Unit(int m, int b, int c, Point p) { mszam = m; bszam = b; color = c; pont = p; }
public int mszam;
public int bszam;
public int color;
private Point pont;
public Point MyPoint
{
get { return pont; }
set { pont = value; }
}
}
public MBnode()
{
nodeMB = new Hashtable();
}
public void Add(Point p, int m, int b, int c, Point szp)
{
nodeMB.Add(p, new Unit(m,b,c,szp) );
}
public IEnumerator GetEnumerator()
{
foreach (DictionaryEntry de in nodeMB)
{
yield return de.Key;
}
}
}
}
Köszönöm a segítséget!
Hozzászólások
nil??? :)
Az MBnode osztály GetEnumerator()-a a belső Hashtable kulcsain iterál végig, azok pedig Point példányok.
Vagy az enumerátort írd át, vagy foreach (Point p in nodes)...
A (Point p in nodes) az jó! :)
Köszi a segítséget!
Ez AlgA I. 2. kötprog?
--
Az emberi tudás mindenkié!
nem eaf3 beadandó egy része