std::map et constructeur à appeler
Bonjour à tous, je suis en train de réorganiser mon code et pour garder les boutons de mes menus en mémoire, j'ai choisi de créer une map. Quand je compile mon code il essaye d'utiliser le constructeur par défaut de ma class bouton, je ne sais pas si l'erreur vient de ma conception ou s'il faut bel et bien "préciser" le constructeur à utilisé ? enfin bref je suis un peu perdu... :(
Quelqu'un a une solution ?
Code de la déclaration :
Code:
std::map<std::string, Button> menu;
Code qui remplie la map d'un bouton :
Code:
menu["play"] = Button(sf::Vector2f( 0, 0 ), sf::Vector2f( 700, 400 ), s);
Class du bouton :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
#ifndef Button_included
#define Button_included
#include <SFML/Graphics.hpp>
class Button : public sf::Drawable, public sf::Transformable /// inlining !
{
public:
Button( sf::Vector2f const &position, sf::Vector2f const &size, std::string const &text );
Button( sf::Vector2f const &position, sf::Vector2f const &size, sf::Sprite const &sprite );// à créer en interne
bool isTouch( sf::Vector2f const &mousePosition ) const;
private:
sf::Vector2f button_position;
sf::Vector2f button_size;
sf::Sprite button_sprite;
std::string button_text;
virtual void draw( sf::RenderTarget& target, sf::RenderStates states ) const; /// s'occuper de la version textuelle
};
#endif // Button_included |
Erreur :
Code:
no matching function for call to 'Button::Button()'|
Merci :)