我一直试图让Awesomium :: WebViewListener工作,但每当我尝试分配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()函数永远不会被调用。
答案 0 :(得分:1)
可能有两种变体:
Awesomium::WebViewListener
包含多个抽象方法。如果是这样 - 你应该全部实现它们来创建派生类`Listener&#39;的实例。 (bash.d说的)Awesomium::WebViewListener::onCallback
参数列表应该与您的参数列表完全相同。如果不是这样,那么您将此方法>>添加到Listener
,但未实现基本摘要onCallback