Essayez de changer:
std::string appdata = arr[0].ToString;
à
Awesomium::WebString appdata = arr[0].ToString();
Comme l'a dit Mike Klimentiev, vous affectez la méthode ToString à la variable appdata. Lorsque vous ajoutez les parenthèses, il effectue un appel de fonction plutôt qu'une affectation directe de la fonction à la variable.
De même, lorsque vous ajoutez les parenthèses, le message d'erreur du compilateur vous indique qu'il ne peut pas convertir le type "Awesomium :: WebString" en type "std :: string". Au tout début de la ligne, vous avez std::string appdata
Cela déclare une variable appdata
de type std::string
. Toutefois, la méthode ToString() retourne un type de Awesomium::WebString
pour lequel il n'y a pas de conversion du type std::string
EDIT: @bugraarslan Sur la base de l'expérience, je me méfie de votre solution de contournement. Il n'y a pas de conversion facile entre les deux types, car ils n'en ont pas écrit un. Habituellement, cela signifie que vous pouvez soit utiliser le type Awesomium::WebString
ou combattre la bibliothèque en utilisant un type familier à savoir, std::string
. Les bibliothèques ne se fatiguent pas dans leur entêtement, mais faites comme vous s'il vous plaît
Je n'ai pas assez de réputation pour commenter. Donc, j'ai dû modifier ma réponse à la place.
Eh bien, j'ai essayé cela et voici le résultat: ** Awesomium :: WebString 'à' std :: basic_string, std :: allocateur > pas approprié par l'utilisateur conversion définie de "Awesomium :: WebString" à "std :: string" existe ** –
bugraarslan
Donc, mon observation était correcte: vous étiez en train d'assigner le pointeur de fonction au lieu d'une valeur/objet. :) –