Как мне настроить слушателя в Awesomium? (& quot; тип поля ‘Listener’ — это абстрактный класс & quot; ошибка)

Я пытался заставить 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 () никогда не вызывается.

0

Решение

Это может быть два варианта:

  1. Awesomium::WebViewListener содержит более одного абстрактного метода. Если это так — вы должны реализовать их все для создания экземпляра производного класса `Listener ‘(об этом сказал bash.d)
  2. Awesomium::WebViewListener::onCallback Список аргументов должен быть точно равен вашему. Если не так, то ты добавленной этот метод для Listener, но не реализована базовая аннотация onCallback
1

Другие решения

Других решений пока нет …