Finde den Fehler!

Fragen und Neuigkeiten zu C / C++, C#, Java, (X)HTML, PHP, SQL, Perl und weiß Gott was noch alles!
Forumsmitglieder sind herzlich eingeladen hier ihre Arbeiten und Projekte zu präsentieren
Antworten
Benutzeravatar
LX
Administrator
Administrator
Beiträge: 3044
Registriert: 6. April 2002 22:32
Wohnort: Schwindegg
Kontaktdaten:

Finde den Fehler!

Beitrag von LX »

Programmiert hier eigentlich noch wer in C++ ausser Worm und mir?

Nunja, wenn jemand das macht, hier ne nette Übungsaufgabe zum Thema C++ / STL, erkläre den Fehler:

Code: Alles auswählen

#include <set>
#include <vector>

struct Foo {
   explicit Foo(int id) : id(id) { }
   int id;
   std::vector<int> elems;
};

bool operator<(const Foo& lhs, const Foo& rhs) 
{
   return lhs.id < rhs.id;
}

int main()
{
   std::set<Foo> s;
   std::set<Foo>::iterator i = s.find(Foo(17));
   if (i != s.end()) {
      i->elems.push_back(72); // Error
   }
}
Bild
Benutzeravatar
BruNP
Administrator
Administrator
Beiträge: 1581
Registriert: 7. April 2002 15:25

Re: Finde den Fehler!

Beitrag von BruNP »

Das ist mir zu trivial.
Scotty-Zitat, Folge 14: "Captain, entweder wir schaffens - oder wir explodieren."
Antworten