[C++] Pointer Problem (erledigt)
Übersicht

![]() |
Jan_Ehemaliger AdminBetreff: [C++] Pointer Problem (erledigt) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aloa, eigentlich eine ganz normale sache, aber es will irgendwie nicht ich bekomme ein Sigenv bei Code: [AUSKLAPPEN] ttupellist* tupel = new ttupellist;
Also einen Speicherzugriffsfehler. Habe ne weile kein C++ gemacht und sehe nicht, was falsch ist, kann mich mal jemand mit der Nase drauf tippen? Code: [AUSKLAPPEN] ttupellist *txml::add_tuppel(string name) { ttupellist* tupel = new ttupellist; tupel->name =name; tupel->next =NULL; if (tuppels == NULL) { tuppels = tupel; }else{ ttupellist* laeufer=tuppels; while (laeufer->next!=NULL) { laeufer = laeufer->next; } laeufer->next = tupel; } return tupel; }; Code: [AUSKLAPPEN] class ttupellist{
public: ttupellist *next; ttupellist *childs; string name; ttupelinhaltliste *inhaltlist; tattributliste *attributelist; void add_inhalt(string inhalt); void add_attribut(string name,string inhalt); void test_print(); }; wenn ich die Zeile in main() habe, kommt kein Fahler ... Hat sich erledigt, fehlermeldung kam nur zum falschen zeitpunkt. der Fehler lag im Constructor. |
||
- Zuletzt bearbeitet von Jan_ am Do, Feb 12, 2015 10:06, insgesamt einmal bearbeitet
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn ich mir zwei Bemerkungen erlauben darf...
Eine Bemerkung: Du arbeitest ziemlich viel mit Pointern. Eventuell ist es ratsam, statt der eigenen Tupeltypen eine Möglichkeit zu suchen das ganze mit STL-Datentypen zu implementieren. vector<> Vorteile: Bessere Performance, weniger Fehler, einfachere Verständlichkeit. Andere Bemerkung: in add_inhalt und add_attribut übergibst du die strings by value. Siehe: http://stackoverflow.com/quest...-reference (aber niemals Option 4 - außer du kennst dich mit rvalue-Referenzen aus) In den meisten Fällen, wo Objekte übergeben werden ist const& das Richtige (das ist der default advice). Kommt aber natürlich darauf an, was deine Methode macht. Hier ist die Empfehlung für Parameter vom Standards-Komittee: ![]() entnommen aus der Präsentation von Herb Sutter, CppCon 2014: Essentials of Modern C++ Style ... 1. Link |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group