1>d:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.25017\include\xmemory0(774): error C2528: 'pointer': pointer to reference is illegal
1>d:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.10.25017\include\xmemory0(984): note: see reference to class template instantiation 'std::allocator<_Ty>' being compiled
1> with
1> [
1> _Ty=sf::Drawable &
1> ]
#ifndef GRAPHICS_ENGINE
#define GRAPHICS_ENGINE
class GraphicsEngine
{
public:
GraphicsEngine();
~GraphicsEngine();
int addToVector(sf::Drawable& drawableObject);
void deleteFromVector(int objectNumber);
void callObjectsDraw(sf::RenderWindow& window);
private:
std::vector<sf::Drawable&> vectorOfDrawableObjects;
};
#endif
#include "stdafx.h"
#include "graphicsEngine.h"
GraphicsEngine::GraphicsEngine()
{
}
GraphicsEngine::~GraphicsEngine()
{
}
int GraphicsEngine::addToVector(sf::Drawable& drawableObject)
{
vectorOfDrawableObjects.push_back(drawableObject);
int objectNumber = vectorOfDrawableObjects.size();
return objectNumber;
}
void GraphicsEngine::deleteFromVector(int objectNumber)
{
vectorOfDrawableObjects.erase(vectorOfDrawableObjects.begin() + objectNumber);
}
void GraphicsEngine::callObjectsDraw(sf::RenderWindow& window)
{
for (int i = 0; i < vectorOfDrawableObjects.size(); i++)
{
window.draw(vectorOfDrawableObjects[i]);
}
}