Cześć.
Pisałem elegancko kod dopóki nie pojawił się error C2280.
'towerSignature::towerSignature(const towerSignature &)': attempting to reference a deleted function
Mam klasę:
class towerSignature :public sf::Drawable
{
std::unique_ptr<tower> towerObject;
public:
towerSignature(std::unique_ptr<tower> towerObject, const std::string desc);
~towerSignature();
void draw(sf::RenderTarget & target, sf::RenderStates states) const;
};
klasa tower jest abstrakcyjna.
I w klasie A mam:
std::vector <towerSignature> towerSignatures;
I dodatkowo w klasie A robię:
towerSignatures.push_back(towerSignature(std::make_unique<arcaneTower>(), "Simply magic tower"));
Gdzie klasa arcaneTower dziedziczy po tower
Wie ktoś gdzie leży problem ?
Dodam, że rzecz dzieję się przy
towerSignatures.push_back(towerSignature(std::make_unique<arcaneTower>(), "Simply magic tower"));