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&' の非 const 参照の無効な初期化

何か案は?

4

1 に答える 1

0

それは読むべきです:

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

定数に注意してください。参照によって JS 関数に物を渡すことはできないため、const 以外の参照を渡すことはできません。

于 2011-12-29T18:31:25.807 に答える