C ++ — PHP (5.5.9) SWIG: как передать указатель на логическое значение в качестве аргумента?

Я использую SWIG (3.0.12) с PHP (5.5.9) для построения следующего метода C ++ (в классе arith_uint256):

arith_uint256& SetCompact(uint32_t nCompact, bool *pfNegative = NULL, bool *pfOverflow = NULL);

SWIG записывает это в оболочку PHP:

function SetCompact($nCompact, $pfNegative=null, $pfOverflow=null) {
$r=arith_uint256_SetCompact($this->_cPtr,$nCompact,$pfNegative,$pfOverflow);
if (!is_resource($r)) return $r;
return new arith_uint256($r);
}

Хорошо компилируется, а я Можно вызвать метод без дополнительных аргументов pfNegative а также pfOverflow, Тем не менее, я не могу понять, как передать by-ref эти логические параметры (передача null в порядке, но не могу понять, как передать указатель на логическое значение).

Явная передача по ссылке устарела на вызывающей стороне в PHP. Добавление символа ссылки «&»к аргументам в SWIG-выводимом классе-обёртке тоже не помогает.

PHP испускает:

Неустранимая ошибка PHP: нет соответствующей функции для перегруженного arith_uint256_SetCompact в Uint256 / Uint256.php в строке 113

Обсуждаемый тип SWIG: «SWIGTYPE_p_bool»

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]