Ich habe leider wiedermal ein Problem. Ich habe jetzt mehrere Stunden versucht den Fehler zu vermeiden aber konnte leider die Fehlerursache nicht genau feststellen. Ich weiß nur das sie in dem follgenden Abschnitt steckt, und durch die verwendung der STL Listen verursacht wird, weil das Programm ohne dies Fehlerfrei läuft:
DIe Fehlermeldung:
Ich würde mich über Hilfe freuen
Code:
// Testlevel
//
// Aufgabe: Testlevel ausführen
//
void CGame::Testlevel()
{
//Abfrage ob schon Intaliesiert wurde
if (m_bIntal == false)
{
//Wenn nein dann Intaliesieren
//Temporär Instanzen
CEnemy *m_Enemy_Temp; //Für Gegner
CAreaScanning *m_Area_Temp; //Für Objekte
//Listen und Iterator
list<CAreaScanning*> m_lArea;
list<CAreaScanning*>::iterator iter_Area;
list<CEnemy*> m_lEnemy;
list<CEnemy*>::iterator iter_Enemy;
m_Area_Temp = new CAreaScanning(1136, 0, 0, 3000);
m_lArea.push_back (m_Area_Temp);
m_Enemy_Temp = new CEnemy;
m_lEnemy.push_back(m_Enemy_Temp);
//Es wurde schon intaliesiert
m_bIntal = true;
}
AreaAbfragen ();
m_Player.Update_Screen();
//Bildschirm Ubdaten und Rendern
m_Backgroundmap->ScreenUpdate(m_Player);
m_Backgroundmap->ScreenRender();
//Spieler Rendern
m_Player.Render();
//Alle Gegner durchlaufen und Rendern wenn Gegner im Sichtbereich ist
for (iter_Enemy = m_lEnemy.begin (); iter_Enemy != m_lEnemy.end(); ++ iter_Enemy )
{
(*iter_Enemy)->Render(m_Player);
}
}
// AreaAbfragen
//
// Aufgabe: Kollisonsabfragen mis Objekten durchführen
//
void CGame::AreaAbfragen ()
{
//Abrage ob grade gesprungen wird
if (m_Player.StatusRueckgabe() != 3)
{
//Wenn nein Schleifenabfrage nach Boden oder Fallen beginnen
for (iter_Area = m_lArea.begin (); iter_Area != m_lArea.end(); ++iter_Area )
{
//Abfrage nach Boden
if ((*iter_Area)->Abfrage_Oben(m_Player) == true)
{
//Wenn boden gefunden wurde Boden kontakt bestätigen und Schleife sofort bennden
m_bContact = true;
break;
}
//Wenn kein Boden gefunden wurde dann fällt der Spieler
else
{
m_bContact = false;
}
}
}
//Abfrage ob Spung an ist
else if (m_Player.StatusRueckgabe() == 3)
{
//Wenn ja SChleife durchlaufen die nach Kontakt mit Objekt über Spieler sucht
for (iter_Area = m_lArea.begin (); iter_Area != m_lArea.end(); ++ iter_Area )
{
(*iter_Area)->Abfrage_Unten(m_Player);
}
//Kein BOdenkontakt
m_bContact = false;
}
//Abfrage ob Sprung "nicht" an ist
if(m_Player.StatusRueckgabe() != 3)
{
//Wenn ja -> Abfrage ob Bodenkontakt da ist oder nicht
if (m_bContact == true)
{
//Boden wurde gefunden also Laufen an
m_Player.StatusAnpassen(1);
}
else
{
//kein Boden wurde gefunden also Fallen an
m_Player.StatusAnpassen(2);
}
}
//Abfrage ob grade eine BEwegung nach Links geamcht wird
if (m_Player.MoveDirectionRueckgabe() == 1)
{
//Wenn ja Abfrage ob nicht Links irgendwo eine Kollison mit einem Objekt ist
for (iter_Area = m_lArea.begin (); iter_Area != m_lArea.end(); ++ iter_Area )
{
(*iter_Area)->Abfrage_Links(m_Player);
}
}
//Abfrage ob grade eine BEwegung nach Rechts geamcht wird
if (m_Player.MoveDirectionRueckgabe() == 2)
{
for (iter_Area = m_lArea.begin (); iter_Area != m_lArea.end(); ++ iter_Area )
{
//Wenn ja Abfrage ob nicht Rechts irgendwo eine Kollison mit einem Objekt ist
(*iter_Area)->Abfrage_Rechts(m_Player);
}
}
DIe Fehlermeldung:
Code:
1>------ Erstellen gestartet: Projekt: Super_Engine_01, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>Game.cpp
1>Verknüpfen...
1>Game.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___CrtDbgReportW" in Funktion ""public: class CAreaScanning * const & __thiscall std::list<class CAreaScanning *,class std::allocator<class CAreaScanning *> >::_Const_iterator<1>::operator*(void)const " (??D?$_Const_iterator@$00@?$list@PAVCAreaScanning@@V?$allocator@PAVCAreaScanning@@@std@@@std@@QBEABQAVCAreaScanning@@XZ)".
1>.\Debug/Super_Engine_01.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://c:\Program Files\Super Mario Engine\Super_Engine_11\Debug\BuildLog.htm" gespeichert.
1>Super_Engine_01 - 2 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
Ich würde mich über Hilfe freuen