Firebreath MethodConverter.h неверная инициализация - PullRequest
0 голосов
/ 29 декабря 2011

Привет, я создал проект Firebreath.Я добавил эти методы в сгенерированный по умолчанию код:

В заголовочном файле API приложения (MYAppAPI.h):

FB_JSAPI_EVENT(bgp, 3, (const FB::variant&, bool, int));

std::string bgp(std::string& val);

В исходном файле API приложения (MAppAPI.mm, который я используюtarget-c):

registerMethod("bgp", make_method(this, &MyAppAPI::bgp));

std::string MyAppAPI::bgp(std::string& val){...}

Но когда я строю код, я получаю эту ошибку:

... firebreath / src / ScriptingCore / MethodConverter.h: 115: ошибка:неверная инициализация неконстантной ссылки типа 'std :: string &' из временного типа 'std :: basic_string, std :: allocator>'

Есть идеи?

1 Ответ

0 голосов
/ 29 декабря 2011

, что должно читаться как:

std::string MyAppAPI::bgp(const std::string& val){...}

Обратите внимание на конст.Вы не можете передать вещи по ссылке в функцию JS, поэтому она не позволит вам передать неконстантную ссылку.

...