相关疑难解决方法(0)

pybind11 中的命名默认参数

我正在使用 pybind11 将 C++ 类方法包装在转换 lambda“垫片”中(由于原因,我必须这样做)。该方法的参数之一在 C++ 中是默认的。

class A
{
   void meow(Eigen::Matrix4f optMat = Eigen::Matrix4f::Identity());
};
Run Code Online (Sandbox Code Playgroud)

在我的 pybind 代码中,我想保留这个可选参数:

py::class_<A>(m, "A")
       .def(py::init<>())
       .def("meow",
            [](A& self, Eigen::Matrix4f optMat = Eigen::Matrix4f::Identity()) 
            {
               return self.meow( optMat ); 
            });
Run Code Online (Sandbox Code Playgroud)

如何optMat在生成的 Python 代码中创建可选的命名参数?

c++ python default-arguments pybind11

5
推荐指数
1
解决办法
2525
查看次数

标签 统计

c++ ×1

default-arguments ×1

pybind11 ×1

python ×1