【发布时间】:2020-06-26 20:32:38
【问题描述】:
我正在尝试将此 python 代码重写为等效的 pybind c++。 但我无法让我的 C++ 代码接受未知数量的参数
蟒蛇:
def primitive(f_raw):
def f_wrapped(*args, **kwargs):
return f_raw(*args, **kwargs)
return f_wrapped
c++:
template <class... T>
std::function<T(T...)> primative(std::function<T(T...)> callable)
{
return [=](T... params){
return callable(params...);
};
}
【问题讨论】:
-
这应该达到什么目的?至少对于 c++ 情况,返回的可调用对象将与您传入的内容相同,只是它将按值传递所有内容。
标签: c++ closures std-function variadic pybind11