Bonjour à tous,

J'ai un projet consistant en l'écriture d'une feuille personnage Donjon et Dragons.
En effet j'ai donc une classe Personnage et une classe Creation actuellement.
La classe création me permet de monter mon interface, et la classe personnage précise les infos (nom, classe, race, ability scores, ...)
jusque là tout va bien!
Mon problème réside en le fait de récuperer les infos entrées dans l'interface pour "mettre à jour" ma classe personnage (dans le but plus tard de les afficher dans une nouvelle fenetre).
je vous lie ce que j'ai fait, j'obtiens une erreur pour laquelle je ne comprends pas d'ou elle vient... Pourriez vous m'éclairer ?


voici mon erreur :
No matching function for call to object of type 'sigc::bound_mem_functor1<void,creation,Personnage &>'

Merci !

Voila le début de mon creation.h
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
 
class Personnage 
{
    protected :
        string Race;                           
        string Class;     
        string Gender;
...
 public :
        void setRace(string);                         
        void setClass(string);                          
        void setGender(string);    
 
...
}
 
class creation : public Gtk::Window
{
public:
  creation(Personnage &p);
  virtual ~creation();
    void on_lvl_changed(Personnage &p);
    void on_combo_changed(Personnage &p);
    void on_button_clicked();
... }

Et voici une de mes fonctions dans creation.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
void creation::on_combo_changed(Personnage &p)
{
    p.setGender(Gender_Combo.get_active_text());
    p.setRace(Race_Combo.get_active_text());
    p.setClass(Class_Combo.get_active_text());
    p.setBackground(Background_Combo.get_active_text());
    p.setSize(Size_Combo.get_active_text());
 
}
Aussi un bout de mon personnage.cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
 
void Personnage::setRace(string s)
{
    Race = s;
}
 
void Personnage::setClass(string s)
{
    Class = s;
}