Bonjour !
Au risque d'en froisser beaucoup, (deja sur le chat cetais pas gai ^^)

Voici la fonction que j'aimerais faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
void WidgetFactory::call(void* widget)
{
    // cherche dans _callback si key = widget
    // func();
}
Dans la classe WidgetFactory, j'ai ceci
une map qui contient des pointeurs vers des fonctions, en revanche, comme je ne peux pas mettre un string pour la key, je pars sur un void*

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
map<void* /* key */, void* /* func */> _callback;
J'ai tenté a tout hasard

_callback[widget]();
et ensuite
_callback.find(widget)();

Aucun des deux marche

Code : Sélectionner tout - Visualiser dans une fenêtre à part
D:\C++\projects\Client v2\Factories\WidgetFactory.cpp|20|error: '((WidgetFactory*)this)->WidgetFactory::_callback.std::map<_Key, _Tp, _Compare, _Alloc>::find [with _Key = void*, _Tp = void*, _Compare = std::less<void*>, _Alloc = std::allocator<std::pair<void* const, void*> >](((void* const&)((void* const*)(& widget)))).std::_Rb_tree_iterator<_Tp>::operator-> [with _Tp = std::pair<void* const, void*>]()->std::pair<void* const, void*>::second' cannot be used as a function|
Un cookie pour celui qui trouve l'erreur x)
merci, bonne nuit ^^