ich bin immernoch am erweitern des spieles, diesmal möchte ich eine highscoreliste erstellen. ich komme jedoch mein der highscoreliste nicht weiter...
hier mal meine methode:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
|
//checkhighscore
//highscore überprüfen
void CHighscore::CheckHighscore() {
if (m_Highscore > lHighscore.begin()) {
lHighscore.push_front(m_Highscore);
lHighscore.pop_back();
}
}
|
also m_Highscore ist int. in der methode möchte ich prüfen, ob m_Highscore größer ist als der erste listen eintrag. da dachte ich mir, prüfe ich mit lHighscore.begin().
wenn es größer ist, sollte m_Highscore an den anfang der liste gesetzt werden und der letzte wert gelöscht werden...so weit die theorie.
doch will der compiler nicht, er meint, meine if() abfrage ist falsch. hier mal seine fehlermeldung:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
1>Highscore.cpp
1>c:\users\Overlord\desktop\sdl_game\highscore.cpp(30) : error C2784: "bool std::operator >(const std::list<_Ty,_Ax> &,const std::list<_Ty,_Ax> &)": template-Argument für "const std::list<_Ty,_Ax> &" konnte nicht von "int" hergeleitet werden.
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\list(1319): Siehe Deklaration von 'std::operator >'
1>c:\users\Overlord\desktop\sdl_game\highscore.cpp(30) : error C2784: "bool std::operator >(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)": template-Argument für "const std::reverse_iterator<_RanIt> &" konnte nicht von "int" hergeleitet werden.
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility(2270): Siehe Deklaration von 'std::operator >'
1>c:\users\Overlord\desktop\sdl_game\highscore.cpp(30) : error C2784: "bool std::operator >(const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &)": template-Argument für "const std::_Revranit<_RanIt,_Base> &" konnte nicht von "int" hergeleitet werden.
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility(2083): Siehe Deklaration von 'std::operator >'
1>c:\users\Overlord\desktop\sdl_game\highscore.cpp(30) : error C2784: "bool std::operator >(const std::pair<_Ty1,_Ty2> &,const std::pair<_Ty1,_Ty2> &)": template-Argument für "const std::pair<_Ty1,_Ty2> &" konnte nicht von "int" hergeleitet werden.
1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\utility(108): Siehe Deklaration von 'std::operator >'
1>c:\users\Overlord\desktop\sdl_game\highscore.cpp(30) : error C2677: Binärer Operator '>': Es konnte kein globaler Operator gefunden werden, der den Typ 'std::list<_Ty>::_Iterator<_Secure_validation>' akzeptiert (oder keine geeignete Konvertierung möglich)
1> with
1> [
1> _Ty=int,
1> _Secure_validation=true
1> ]
1>Das Buildprotokoll wurde unter "file://c:\Users\Overlord\Desktop\SDL_Game\Debug\BuildLog.htm" gespeichert.
1>SDL_Game - 5 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
|
anscheindend ist lHighscore.begin() zum prüfen nicht geeignet? die lösung will mir nicht einfallen
könnte mir jemand bitte helfen?