Je reçois cette erreur:erreur: aucune fonction de mise en correspondance pour l'appel à
main.cpp:31: error: no matching function for call to 'QWebFrame::addToJavaScriptWindowObject(QString, Eh*&)'
candidates are: void QWebFrame::addToJavaScriptWindowObject(const QString&, QObject*)
Voici le code source:
#include <string>
#include <QtGui/QApplication>
#include <QWebFrame>
#include <QWebView>
#include <QGraphicsWebView>
#include <QWebPage>
#include "html5applicationviewer.h"
class Eh
{
int lol()
{
return 666;
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Html5ApplicationViewer viewer;
viewer.setOrientation(Html5ApplicationViewer::ScreenOrientationAuto);
viewer.showExpanded();
viewer.loadFile(QLatin1String("html/index.html"));
QWebPage *page = viewer.webView()->page();
QWebFrame *frame = page->mainFrame();
Eh *s = new Eh();
frame->addToJavaScriptWindowObject(QString("test"), s);
return app.exec();
}
J'ai essayé de donner une nouvelle instance de Eh
et Eh
classe lui-même. Dans les deux cas, il échoue. Aussi je ne peux pas donner le non-pointeur de celui-ci puisque new renvoie un pointeur.
Ma question est la suivante: pourquoi est-ce Eh*&
et non Eh*
?
Le problème est donc pas le caractère '&'? – Tower
@Evan Teran: Je pense que le Q de l'OP n'est pas sur la raison de l'erreur, c'est pourquoi le message d'erreur spécifique faux. –
Non, ça ne devrait pas être le problème. –