Fehler C2784
-
Kannst du auch die entsprechenden Codezeilen posten?
-
hehe, du glaubst ernsthaftig, dass dir jemand bei so einem plumpen Haufen Fehlermeldungen hilft? Denkst du, C++ Programmierer sind übergeschnappte Freaks, die wie Computer denken?
-
Es werden Codestellen aus diversen includes angezeigt, nichts präzises im Programm, sonst wärs auch leichter.
@Mis2Com: Es soll diese "übergeschnappte Freaks, die wie Computer denken" tatsächlich geben, und ich denke, einige befinden sich in diesem Forum. Ich zielte allerdings darauf ab, dass es einen Menschen geben könnte, der diese Felhermeldungen auch schon mal hatte.
-
Nagut, dann setze die Fehlermeldungen mal wenigstens in ein ordentliches Tag:
[cpp]Fehlermeldungen[/cpp]
oder
[quote]Fehlermeldungen[/quote]
z.B.Sollte das deutlich besser lesbar machen.
Beispiel:
Quote-TAG
C++ Code-TAG
MfG Eisflamme
-
Leute, mitdenken:
Wenn die Datei "d:\vc98\include\list" heißt, waskönnte das wohl bedeuten.Hast du in der Datei rumgepfuscht? Und übrigens ist das nicht das Forum, in dem man fehler des MSVCs bespricht.
-
Ich denke nicht das MSVC einen Fegler hat, und ich ändere doch nicht irgendwelche Include-Dateien, was bringts mir denn?
-
Du wirst doch irgendwie wissen, nach welcher Codeänderung der Fehler auftrat. Hat jedenfalls was mit list zu tun. So ist das ganzen nur ein Rätselraten.
Helium schrieb:
Leute, mitdenken:
Wenn die Datei "d:\vc98\include\list" heißt, waskönnte das wohl bedeuten.Hast du in der Datei rumgepfuscht? Und übrigens ist das nicht das Forum, in dem man fehler des MSVCs bespricht.
Solche Fehler in den Headern kommen doch auch durch Templates zustande.
-
Hallo,
kann es sein, dass du zwei Iteratoren per < vergleichst?
Irgendwie sowas:list<string> l; list<string>::iterator it = l.begin(); while (it < l.end()) ...
-
Helium schrieb:
Leute, mitdenken:
Wenn die Datei "d:\vc98\include\list" heißt, waskönnte das wohl bedeuten.Hast du in der Datei rumgepfuscht? Und übrigens ist das nicht das Forum, in dem man fehler des MSVCs bespricht.
Na, falsche Schlussfolgerung.
Der Fehler tritt nur da auf, weil in diesem Beispiel das Vorlageargument in dieser Datei nicht hergeleitet worden konnte. Dass das nicht möglich ist, ist natürlich auf einen Programmierfehler des Benutzers der STL zurückzuführen.MfG Eisflamme
-
Der Müll kam das erste mal nachdem ich von vector<string> auf list<string> umgestellt habe, am vorher funktionierenden code habe ich wenig geändert.
-
Hatse mal versucht den ganzen Code im Copy& Paste verfahren auszulagern, ein neues Projekt anzulegen, den Kram da rein zu packen und neu zu kompilieren?
VS "verschluckt" sich manchmal. Mir ist mal was ähnliches passiert, nach einer (eigentlich trivialen) Programmänderung warf der VS- Compiler merkwürdigste Fehlermeldungen aus. Mit dem oben beschriebenen Verfahren konnte ich ihm diese "austreiben".
-
Ein "Rebuild All" würde auch reichen.
Fehlermeldung macht man in Quotes, wenn überhaupt, niemals in C++-Tags, weil sie dann das Forum verzerren.
Es wäre auch möglich, das was mit der includereihenfolge nicht stimmt, das verursacht manchmal auch seltsame probleme.
-
Hallo,
also imo ist der Fehler recht eindeutig, aber ihr könnte natürlich auch weiter ins blaue raten und an den Projektsettings rumdrehen.
-
hust hust sieht mir sehr nach nem std::list.sort() aus^^
string hat den < operator nich überladen
-
Tatsächlich, ein sort wars, einziges Problem ist, dass ich die Liste wirklich sortiren will, es aber anscheinend nicht kann.
-
unzi schrieb:
Tatsächlich, ein sort wars, einziges Problem ist, dass ich die Liste wirklich sortiren will, es aber anscheinend nicht kann.
Die Memberfunktion sort von list gefällt dir nicht?
-
abhilfe schafft das überladen des kleiner operators für string
bool operator<(std::string a,std::string b){ unsigned int length; if(a.length()>b.length()){ length=b.length(); } else { length=a.length(); } for(unsigned int i=0;i<=length;++i){ if(a[i]>b[i]){ return false; } } return true; }
nicht getestet, aber ich denke, diese aphabetische kleiner sortierung("a" ist kleiner als "b") sollte dir weiterhelfen
-
otze schrieb:
abhilfe schafft das überladen des kleiner operators für string
Aber nicht, wenn du eine std::list mit std::sort bearbeiten willst. Nur weil du den op< überlädst, werden aus bidirektionalen Iteratoren nicht auf einmal random-access Iteratoren.
-
er meinte nich std::sort, er meinte das sort von std::list..oder benutzt std::list std::sort?
-
otze schrieb:
er meinte nich std::sort, er meinte das sort von std::list..oder benutzt std::list std::sort?
Wenn er die Memberfunktion verwenden würde, hätte er kein Problem.
Was bringt es eigentlich den op< für strings zu überladen, wenn es schon einen passenden op< für strings gibt?