2011-12-29 60 views
0

嗨我創建了一個firebreath項目。添加此方法到默認生成的代碼:Firebreath MethodConverter.h無效初始化

在應用程序API頭文件(MYAppAPI.h):

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

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

在應用程序API的源文件(MAppAPI.mm我使用目標c) :

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

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

但是當我建立的代碼,我收到此錯誤:

... firebreath/src目錄/ ScriptingCore/MethodConverter.h:115:錯誤:非const refe的無效初始化類型'std :: string &'的類型'std :: basic_string,std :: allocator'的臨時類型'

任何想法?

回答

0

應該閱讀:

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

注意常量。你不能通過引用將事物傳遞給一個JS函數,所以它不會讓你傳遞一個非const引用。