我正在尝试通过 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
我很困惑,如果有人能帮助我解决这个问题,我真的很感激。