Try изменения:
std::string appdata = arr[0].ToString;
в
Awesomium::WebString appdata = arr[0].ToString();
Как Майк Климентьев сказал, вы присваивающей метод ToString для переменной appdata. Когда вы добавляете круглые скобки, он вызывает вызов функции, а не прямое назначение функции переменной.
Кроме того, при добавлении круглых скобок сообщение об ошибке компилятора сообщает вам, что он не может преобразовать тип «Awesomium :: WebString», чтобы ввести «std :: string». В самом начале строки у вас есть std::string appdata
Это объявляет переменную appdata
типа std::string
. Однако метод ToString() возвращает тип Awesomium::WebString
, для которого не существует преобразование к типу std::string
EDIT: @bugraarslan Исходя из опыта, я бы опасаться вашим обходной путь. Нет простого преобразования между двумя типами, потому что они не писали одно. Обычно это означает, что вы можете использовать тип Awesomium::WebString
или сражаться с библиотекой, используя знакомый тип, а именно: std::string
. Библиотеки не утомляют в своем упрямстве, но делают, как вам угодно
У меня недостаточно репутации для комментариев. Поэтому мне пришлось изменить свой ответ.
Ну, я попытался это и вот результат: ** Awesomium :: WebString 'до' станд :: basic_string <голец, СТД :: char_traits, станд :: распределителей > не подходит user- определенное преобразование из «Awesomium :: WebString» в «std :: string» существует ** –
bugraarslan
Итак, мое наблюдение было правильным: вы назначали указатель функции вместо значения/объекта. :) –