0

嗨,我创建了一个 firebreath 项目。我将此方法添加到默认生成的代码中:

在应用程序 API 头文件 (MYAppAPI.h) 中:

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

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

在应用程序 API 源文件(MAppAPI.mm 我使用的是 Objective-c)中:

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

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

但是当我构建代码时,我收到了这个错误:

...firebreath/src/ScriptingCore/MethodConverter.h:115:错误:从“std::basic_string,std::allocator >”类型的临时值对“std::string&”类型的非常量引用无效初始化

有任何想法吗?

4

1 回答 1

0

应该是:

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

注意常量。您不能通过引用将事物传递给 JS 函数,因此它不会让您传递非常量引用。

于 2011-12-29T18:31:25.807 回答