Ошибка компиляции (C2440) с использованием CEFbrowser и VS2015

там. Я новичок в CEFbrowser. Я разрабатываю модель загрузки My CefBrowser. Я написал некоторый код, но ошибка при компиляции.

 class CefClient : public virtual CefBase {
 public:
  ///
  // Return the handler for download events. If no handler is returned downloads
  // will not be allowed.
  ///
  /*--cef()--*/
  virtual CefRefPtr<CefDownloadHandler> GetDownloadHandler(){
     return this;
  }

Но VS2015 говорит C2440:

"return":cannot convert from 'CefClient *const' to 'CefRefPtr<CefDownloadHandler>'

Я новенький. и когда я меняю return this на return null, он запускается, но не может загрузить. Что я могу сделать, чтобы решить эту проблему? Благодарю вас!


person MX-Qulin    schedule 15.07.2020    source источник
comment
Похоже, что ваш CefClient должен наследоваться от CefDownloadHandler, то есть class CefClient: public virtual CefBase, public CefDownloadHandler: stackoverflow.com/q/57198461/260313   -  person rturrado    schedule 15.07.2020
comment
хорошо, я попробую это. Благодарю вас!   -  person MX-Qulin    schedule 16.07.2020
comment
Благодарю вас! это действительно работает. Моя проблема решена.   -  person MX-Qulin    schedule 16.07.2020
comment
эмм, было бы лучше, если бы вы ответили на этот вопрос, и я приму ответ.   -  person MX-Qulin    schedule 16.07.2020
comment
Я рад, что это помогло. Хорошо, я сделаю!   -  person rturrado    schedule 16.07.2020


Ответы (1)


Похоже, что ваш CefClient должен наследоваться от CefDownloadHandler, то есть class CefClient: public virtual CefBase, public CefDownloadHandler: CEF C++ Реализация обработчика загрузки

Как только вы наследуете от CefDownloadHandler, возврат this из экземпляра CefClient будет правильно соответствовать CefRefPtr<CefDownloadHandler>.

person rturrado    schedule 16.07.2020
comment
большой! Благодарю вас! - person MX-Qulin; 16.07.2020