1

SWIG を使用して PHP で C++ ライブラリを使用しようとしていますが、すべて正常に動作し、共有オブジェクトを正確に生成しました。インターフェイス ファイルに phppointers.i と std_string.i も含めます。しかし、入力セクションに参照またはポインター引数を持つ C++ メソッドを呼び出したい場合、メソッドが正しく機能しないか、次のようなエラーが発生しました。

Fatal error:no matching function

たとえば、私のメソッドの1つは以下のように宣言されています:

int func(string &ptr,bool space=true) const;

しかし、PHPコードでこのメソッドを次のように呼び出すと:

$bf->func('abcd',true);

このエラーが発生しました:

Fatal error:no matching function

次のような他の方法でこの関数を呼び出そうとしました:

$str = 'abcd';
$bf->func(&$str,true);

しかし、今回は次のエラーが発生しました:

Fatal error: Call-time pass-by-reference has been removed

私は完全に混乱しています。誰かがこの問題で私を助けてくれれば本当に感謝しています。

4

0 に答える 0