Hallo,
kommen wir direkt zum Problem, ich habe eine Klasse namens "Object":
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
|
class Object
{
private:
sf::Texture texture;
sf::Sprite sprite;
};
|
und eine Funktion, AUßERHALB der Klasse "Object", namens "function()"
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
|
std::list<Object> list;
// ...
void function()
{
Object object;
object.ladeTextur();
list.push_back(object);
}
|
Diese Funktion rufe ich in der Main auf, das Ergebnis ist ein weißes Viereck in der Größe
der geladenen Textur. Wenn ich den Inhalt der Funktion "function()" einfach direkt in die Main tu, wird die Textur
ohne Probleme dargestellt. Daraus hab ich geschlussfolgert das allem Anschein durch das Scoping irgendwie dass Textur Objekt draufgeht...?
Wenn ich für das Textur Objekt in der Klasse "Object" im Konstruktor Speicher reserviere und diesen im Destruktor
NICHT freigebe, funktioniert alles wunderbar... Aber Memory Leaks möchte ich nicht so gerne...
Deshalb meine Fragen:
Hat jemand eine Ahnung woran das liegt und wie man das Problem löst? &&
Wieso geht nur die Textur drauf? (Alles andere funktioniert nämlich)
Vielen Dank schon mal im Voraus!