如何在 Awesomium 中设置侦听器?( "Field type 'Listener' is an abstract class"错误)



我一直试图获得一个Awesomium::WebViewListener工作,但每当我试图分配Listener对象时,我得到一个"字段类型'Listener'是一个抽象类"错误。

下面是我的代码:

class Listener : public Awesomium::WebViewListener
{
public:
    void onCallback(Awesomium::WebView* caller,
                    const std::wstring& objectName,
                    const std::wstring& callbackName,
                    const Awesomium::JSArguments& args)
    {
        std::cout << "Hello!" << std::endl;
    }
};
// In the GUI class
Listener listener; // Field type 'Listener' is an abstract class
view->setListener(&listener);

如果我不能分配侦听器对象,我该如何设置侦听器?我试过使用boost::shared_ptr,它不会产生任何错误,但onCallback()函数永远不会被调用。

可以有两种形式:

  1. Awesomium::WebViewListener包含多个抽象方法。如果是这样,您应该实现它们来创建派生类' Listener'的实例。我说过了)
  2. Awesomium::WebViewListener::onCallback参数列表应该与您的参数列表完全相等。如果没有,则此方法添加到Listener,但不实现基础抽象onCallback

相关内容

最新更新