Как установить только один аргумент по умолчанию pybind11Python

Программы на Python
Ответить
Anonymous
 Как установить только один аргумент по умолчанию pybind11

Сообщение Anonymous »

У меня есть функция:

Код: Выделить всё

void my_functions(int a, int b = 42);
И я хочу связать его, используя только аргумент по умолчанию для b:

Код: Выделить всё

 m.def("my_functions", &my_functions, pb::arg("b") = 42); // just default for b

Это не работает, я понимаю:

Код: Выделить всё

/cache/venv/include/pybind11/pybind11.h:219:40: error: static assertion failed: The number of argument annotations does not match the number of function arguments
219 |             expected_num_args(
|             ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
220 |                 sizeof...(Args), cast_in::args_pos >= 0, cast_in::has_kwargs),
Как это правильно сделать?

Подробнее здесь: https://stackoverflow.com/questions/758 ... t-pybind11
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»