1

我正在尝试通过 SWIG 在 PHP 中使用我的 C++ 库,一切正常,并且我准确地生成了我的共享对象。我还在接口文件中包含了 phppointers.i 和 std_string.i。但是当我想调用在其输入部分中具有引用或指针参数的 C++ 方法时,该方法将无法正常工作,或者我遇到了一些错误,例如:

Fatal error:no matching function

例如,我的一种方法声明如下:

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