嗨,我创建了一个firebreath项目。我将这些方法添加到默认生成的代码中:
在应用程序API头文件(MYAppAPI.h)中:
FB_JSAPI_EVENT(bgp, 3, (const FB::variant&, bool, int));
std::string bgp(std::string& val);
在应用程序API源文件(MAppAPI。我正在使用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&'初始化类型'std::string&'的非const引用无效
任何想法?
应该是:
std::string MyAppAPI::bgp(const std::string& val){...}
注意const。你不能通过引用传递东西到JS函数中,所以它不允许你传递非const引用。