gpt4 book ai didi

c++ - 我如何在 Awesomium 中设置监听器? ("Field type ' Listener' is an abstract class"error)

转载 作者:行者123 更新时间:2023-11-28 07:44:31 27 4
gpt4 key购买 nike

我一直在尝试让 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”的实例(bash.d 说过)
  2. Awesomium::WebViewListener::onCallback 参数列表应该与您的完全相同。如果不是这样,那么您将此方法添加Listener,但未实现基础抽象onCallback

关于c++ - 我如何在 Awesomium 中设置监听器? ("Field type ' Listener' is an abstract class"error),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15158780/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com