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 : Sélectionner tout - Visualiser dans une fenêtre à part
std::map<std::string, Button> menu;
Code qui remplie la map d'un bouton :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
menu["play"] = Button(sf::Vector2f( 0, 0 ), sf::Vector2f( 700, 400 ), s);
Class du bouton :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
no matching function for call to 'Button::Button()'|
Merci