#pybind11
Вопрос:
Я пытаюсь добавить документированное свойство только для чтения в класс в расширении python, определенном с помощью pybind11. Обычно это делается путем добавления строкового аргумента в вызов define. Однако, когда я добавляю строковый аргумент в вызов определения свойства только для чтения, я получаю ошибки компиляции шаблона.
Компилируется, но не имеет строки документа:
[...]
.def_property_readonly(
"property_name",
[](){ return ""; })
[...]
Имеет строку документа, но не компилируется:
[...]
.def_property_readonly(
"property_name",
[](){ return ""; },
std::string("docstring"))
[...]
Ответ №1:
Вы должны пройти а const char *
вместо а std::string
.
[...]
.def_property_readonly(
"property_name",
[](){ return ""; },
"const char docstring")
[...]