Bonjour !
Au risque d'en froisser beaucoup, (deja sur le chat cetais pas gai ^^)
Voici la fonction que j'aimerais faire
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*
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
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 ^^
Partager