从另一个类调用函数指针

时间:2014-09-26 06:44:15

标签: c++

我在unordered_multimap中存储的对象中调用未分配的函数指针时遇到问题。

Listener.h

class Listener
{
public:
    Listener(){}
    void( *fun1 )(Variant) = NULL;
};

Messenger.h

class Messenger
{
public:
    void post( std::string type, void( *function )(Variant v1), Variant v1 ) {
        auto its = m_listeners.equal_range( type );
        for( auto it = its.first; it != its.second; it++ )
            it->second.fun1( v1 );
    }

protected:
    std::unordered_multimap<std::string, Listener> m_listeners;
};

然而,在尝试编译时,我收到错误C2228: left of '.fun1' must have class/struct/union

这个想法是这些类是继承的,fun1可以分配给不同对象的函数,然后可以通过post从订阅某个帖子类型的其他对象调用

0 个答案:

没有答案