我一直试图获得一个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()函数永远不会被调用。
可以有两种形式:
-
Awesomium::WebViewListener
包含多个抽象方法。如果是这样,您应该实现它们来创建派生类' Listener'的实例。我说过了) -
Awesomium::WebViewListener::onCallback
参数列表应该与您的参数列表完全相等。如果没有,则将此方法添加到Listener
,但不实现基础抽象onCallback