Gracias por el consejo, lo arreglaré apenas solucione el problema principal.
Ya pude avanzar algo con el problema, lo que sucede ahora, es que, no sé como llamar al constructor de la estructura interior. El códido que tengo es el siguiente:
He intentado llamar al contructor de diversas formas. El error reside en que el emulador me señala que estoy contruyendo un Context entregando 0 argumentos, en donde me señala que este pide 4 argumentos (claro, así está definido su contructor). Por lo que deduje, que no estoy llamando correctamente al constructor, por lo que el emulador lo llama automaticamente entregándole 0 argumentos.
Alguien sabe como llamo al contructor de al estructura interior Context desde el contructor de State?
Ya pude avanzar algo con el problema, lo que sucede ahora, es que, no sé como llamar al constructor de la estructura interior. El códido que tengo es el siguiente:
Código [Seleccionar]
class State
{
public:
typedef std::unique_ptr<State> Ptr;
struct Context
{
Context(sf::RenderWindow& window, TextureHolder& textures, FontHolder& fonts, Player& player);
sf::RenderWindow* window;
TextureHolder* textures;
FontHolder* fonts;
Player* player;
}Nested;
public:
State(StateStack& stack, Context context);
virtual ~State();
virtual void draw() = 0;
virtual bool update(sf::Time dt) = 0;
virtual bool handleEvent(const sf::Event& event) = 0;
protected:
void requestStackPush(States::ID stateID);
void requestStackPop();
void requestStateClear();
Context getContext() const;
private:
StateStack* mStack;
Context mContext;
};
State::Context::Context(sf::RenderWindow& window, TextureHolder& textures, FontHolder& fonts, Player& player)
:window(&window),
textures(nullptr),
fonts(nullptr),
player(nullptr)
{
}
State::State(StateStack& stack, State::Context context)
//EL ERROR ESTÁ EN ESTA LINEA, DEBO LLAMAR AL CONTRUCTOR DE 'Context' entregando 4 argumentos
//:Context(*(context.window),*(context.textures),*(context.fonts),*(context.player))
//:State::Context(*(context.window),*(context.textures),*(context.fonts),*(context.player))
: Nested(*(context.window),*(context.textures),*(context.fonts),*(context.player))
{
}
He intentado llamar al contructor de diversas formas. El error reside en que el emulador me señala que estoy contruyendo un Context entregando 0 argumentos, en donde me señala que este pide 4 argumentos (claro, así está definido su contructor). Por lo que deduje, que no estoy llamando correctamente al constructor, por lo que el emulador lo llama automaticamente entregándole 0 argumentos.
Alguien sabe como llamo al contructor de al estructura interior Context desde el contructor de State?