Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Fred

Supermoderator

  • »Fred« ist der Autor dieses Themas

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

1

24.05.2007, 20:13

[Tiny XML] while Schleife klappt nicht

Hi,
also ich habe folgenden Code:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
std::vector<Vector3> vect_vert;

            TiXmlElement*   pxVertice = pxVertProp->FirstChildElement("vertex");
            if(!pxVertice)
            {
                LogManager::getSingletonPtr()->logMessage("Es konnte kein <Vertex>-Element", LML_CRITICAL);
                return NULL;
            }
            else
            {
                while(pxVertice)
                {
                    // Den ersten Vertex auslesen

                    Vector3 v = StringConverter::parseVector3(pxVertice->Attribute("position"));
                    vect_vert.push_back(v);
                    // und zum nächsten springen

                    pxVertice->NextSiblingElement("vertex");
                }

Er soll sich aus einer HTML-Datei prinzipiell nur das <Vertex>-Element suchen und dann dessen Position auslesen und zu nächsten springen. Irgendwann sollte er dann fertig sein.
OPRoblem: Er ist nie fertig er macht immer weiter, selbst wen ich von vornherein einen falschen Namen angebe macht er weiter und das Prog hängt sich auf.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

24.05.2007, 21:25

Re: [Tiny XML] while Schleife klappt nicht

Zitat von »"Fred"«

C-/C++-Quelltext

1
2
                    // und zum nächsten springen

                    pxVertice->NextSiblingElement("vertex");

1. Die Zeile macht nicht das, was der Kommentar sagt.
2. "vertice" gibt es nicht. Der Plural heißt "vertices".

Fred

Supermoderator

  • »Fred« ist der Autor dieses Themas

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

3

24.05.2007, 21:46

Sie liest den nächsten Veretx aus? Ist vllt dumm formuliert.

Das Programm will mit der while-Schleife einfach nicht aufhören, wenn er keinen vertex mehr findet, dann denkt er sich selbr welche aus.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

24.05.2007, 22:08

Deine Zeile macht eigentlich überhaupt nichts.
Das ist so, wie wenn man

i + 1

statt

i = i + 1 bzw. i++

in einer for-Schleife schreiben würde.

Fred

Supermoderator

  • »Fred« ist der Autor dieses Themas

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

5

24.05.2007, 22:25

Danke für den Wink mit dem Zaunpfahl. Ich Depp!

C-/C++-Quelltext

1
pxVectices = pxVertices->NextSiblingElement("vertex");

Werbeanzeige