Я создал PHP-оболочку для нескольких классов C++, но сталкиваюсь с ошибкой в функции, которая возвращает целое число без знака:
Это код в PHP (с использованием PHP 7.3.0):
$results = new Results($client->get_logger());
$client->key_value_set_string($results, "shape", "triangle", true);
$status_code = $results->get_status_code();
Попытка напечатать $status_code дает:
Resource id #9
var_dump($status_code) дает:
resource(9) of type (_p_uint8)
Определения типа uint8 и функции в заголовочном файле C++:
typedef uint8_t uint8;
uint8 get_status_code();
Любая идея, почему я получаю идентификатор ресурса # 9 вместо значения int? У меня это работает в обернутом коде Python и Java SWIG, проблема только в коде PHP 7.
Свиг версии 3.0.12.
Решил это, изменив тип на unsigned int.






Какую версию Swig вы используете?