Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

cojo2015

Alter Hase

  • »cojo2015« ist der Autor dieses Themas

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

21

05.07.2015, 15:24

Das ist die ganze Funktion:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
void CAsteroidManager::Update (float fFrameTime)
{
    Spawn (0.5f);

    for (auto it : mList)
    {
        it->Update (fFrameTime);
    }

}

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

22

05.07.2015, 15:35

Und jetzt den Code, wo Update gerufen wird.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

cojo2015

Alter Hase

  • »cojo2015« ist der Autor dieses Themas

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

23

05.07.2015, 15:43

Das ist im Framework.cpp

C-/C++-Quelltext

1
2
3
4
5
6
void CFramework::Update (float m_fFrameTime)
{
    m_pPlayer->Update (m_fFrameTime);   // Spieler updaten
    m_pManager->Update (m_fFrameTime);  // Manager updaten

} // Update

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »cojo2015« (05.07.2015, 15:52)


24

05.07.2015, 16:03

Schreib mir sonst mal eine Persönliche Nachricht mit deinem Skype Namen oder etc.
So könnte ich besser auf den Code schauen.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

25

05.07.2015, 16:33

m_pManager ist somit also ungültig. Lass Dir mal ausgeben was in m_pManager steht und teile es uns mit.
Generell solltest Du eventuell aufhören alles auf dem Heap per "new" zu erzeugen oder vernünftige Smart-Pointer einsetzen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

cojo2015

Alter Hase

  • »cojo2015« ist der Autor dieses Themas

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

26

05.07.2015, 16:55

Es steht in der Konsole "CCCCCCCC". Sieht nicht normal aus ^^

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

27

05.07.2015, 17:01

Also ein nicht initialisierter Pointer.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

28

05.07.2015, 17:42

Du scheinst "von Java zu kommen". Gewöhne dir echt diese Heap-Lastigkeit ab, das ist meistens nicht mal nötig, wie etwa bei m_pClock, aber viel wichtiger: Du schießt dir schneller selbst ins Knie, als es dir lieb ist. Siehst du ja hier. :P Wie mit allem, es ist immer "besser" sich selbst so zu geißeln, dass man keine bis nur schwer Fehler mit machen kann. So etwas wie std::queue beispielsweise ist nichts anderes, als ein std::vector mit einem dem Nutzen eher entsprechenden Interface, sodass man selbst nicht mit insert und erase hantieren müsste.
Das lässt sich auch auf Speicher adaptieren, beim Heap muss man sich um alles selbst kümmern, beim Stack hat man einen "zuverlässigen Freund", der sich darum kümmert.
Manchmal ist es nötig mit dem Heap zu arbeiten, aber das passiert weitaus seltener, als man wahrscheinlich denkt. Ein gutes Stichwort hierbei sind smart_pointer, die für einen überwiegend die "manuelle" Komponente entfernen, sie sind der "zuverlässige Freund" bei der Arbeit mit dem Heap.
Das als gut gemeinten Rat. :)

MfG
Check

cojo2015

Alter Hase

  • »cojo2015« ist der Autor dieses Themas

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

29

05.07.2015, 17:46

OK. Danke für eure Tipps. Jetzt klappt es. Danke für eure Hilfe :) :) :D :D :thumbsup: :thumbsup:

Werbeanzeige