Versuchen Wechsel:
std::string appdata = arr[0].ToString;
zu
Awesomium::WebString appdata = arr[0].ToString();
Als Mike Klimentiev sagte, sind die Zuweisung Sie die Methode ToString zu den Variablen appdata. Wenn Sie die Klammern hinzufügen, wird anstelle der direkten Zuweisung der Funktion an die Variable ein Funktionsaufruf ausgeführt.
Wenn Sie die Klammern hinzufügen, weist die Compiler-Fehlermeldung außerdem darauf hin, dass der Typ "Awesomium :: WebString" den Typ "std :: string" nicht konvertieren kann. Am Anfang der Zeile haben Sie std::string appdata
Dies deklariert eine Variable appdata
des Typs std::string
. Doch die Methode ToString(), um eine Art von Awesomium::WebString
, für die gibt es keine Umstellung auf den Typ std::string
EDIT: @bugraarslan auf Erfahrung Basierend, würde ich vorsichtig Ihre Problemumgehung sein. Es gibt keine einfache Konvertierung zwischen den beiden Typen, weil sie keinen geschrieben haben. Normalerweise bedeutet dies, dass Sie entweder den Typ Awesomium::WebString
verwenden oder die Bibliothek mit einem bekannten Typ bekämpfen können, nämlich std::string
. Bibliotheken ermüden nicht in ihrer Sturheit, aber tun Sie, wie Sie bitte
Ich habe nicht genug Ruf zu kommentieren. Also musste ich meine Antwort stattdessen ändern.
Nun, habe ich versucht, diese und hier ist das Ergebnis: ** Awesomium :: WebString 'auf' std :: basic_string, std :: allocator > keine geeignete benutzer- Definierte Konvertierung von "Awesomium :: WebString" nach "std :: string" existiert ** –
bugraarslan
Also meine Beobachtung war richtig: Sie haben den Funktionszeiger anstelle eines Wertes/Objekts zugewiesen. :) –