Hi,
tut mir leid, dass ich alle 3,4 Tage ein neues Problem habe, aber ich bekommst einfach nicht hin
Also, folgendes funktioniert:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
struct Struktur
{
//... bla
};
std::list <Struktur> StrListe;
std::list <Struktur>::iterator iStr;
iStr = StrListe.begin();
while (iStr != StrListe.end ())
{
// bla
++iStr;
}
|
aber folgendes nicht:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
std::list <Struktur> StrListe;
std::list <Struktur> StrListe2;
std::list <Struktur>::iterator iStr;
iStr = StrListe.begin();
while (iStr != StrListe.end ())
{
// bla
++iStr;
}
iStr = StrListe2.begin (); //<- geht noch wunderbar, werte stimmen
while (iStr != StrListe2.end ()) //<- FEHLER
{
//bla
++iStr;
}
|
Lässt sich alles kompilieren, aber sobal die 2. while schleife oben erreicht wird bekomme ich folgenden Fehler:
Debug Assertion Failed
Programm: bla
File: ...vc2010/include/xtree
Line 236
Expression: map/set iterator not dereferencable
...
Ich frage mich gerade, was ich da dereferenzieren soll, ich dachte ich hätte den iterator bereits auf den beginn der 2. liste gesetzt?
Kann mir da jemand helfen? Die erste Liste läuft übrigens ohne zu murren durch. Wenn ich die erste Liste weglasse, gibt es ebenfalls keinen Fehler, es liegt also nicht an der 2. Liste selbst o.ä.
Was auch nicht funktioniert, ist einen 2. iterator zu erstellen, der dann die 2. liste durchläut.
lg chaia