Brauche hilfe bei erase() (Fehlermeldung)
-
Hallo Leute ich hab eine Klasse erstellt und Objetkte dieser Klasse in einen Vector gepackt. Nun möchte ich ein Objekt aus dem Vector löschen aber bekomme dabei immer den gleichen Fehler -.- Hab schon etwas recherchiert und ich glaube der Fehler liegt irgendwo bei der übergabe von Referenzen im Konstruktor (kann aber auch ganz was anderes sein
) Hier zum Code:
Header:
#ifndef SKELETON_H
#define SKELETON_Hclass Skeleton
{public:
Skeleton(RenderWindow &r_window, Player &r_player, float x, float y);
int status;
static Texture skeleton_texture;//Hab alles irrelevantes hier rausgelöscht
};
#endifCPP Datei:
#include "Skeleton.h"
Texture Skeleton::skeleton_texture;
Skeleton::Skeleton(RenderWindow &r_window, Player &r_player, float x, float y)
:window(r_window), player(r_player)
{}
Code wo die Objekte erstellt werden (includes etc vorhanden):
std::vector <Skeleton> skeleton_vector;
Skeleton skeleton1 = Skeleton(window, player, 100, 200);
skeleton_vector.push_back(skeleton1);
Skeleton skeleton2 = Skeleton(window, player, 1500 - 32, 200);
skeleton_vector.push_back(skeleton2);... //irrelevanter Code
for (unsigned int i = 0; i < skeleton_vector.size(); i++)
{
skeleton_vector[i].update();
if (skeleton_vector[i].status == 0)
{skeleton_vector.erase(skeleton_vector.begin() + i);
}
}Ich bekomme immer folgende Fehlermeldung:
Die Funktion 'operator =' ist in 'Skeleton' nicht verfügbarIch hoffe jemand kann mir helfen und bedanke mich schon im voraus
-
Bitte sofort das richtige Forum wählen:
https://www.c-plusplus.net/forum/333318