我有一个签名为
的函数parser create_parser(int, char **)
“解析器”是一个类。现在,我想通过boost Python将这个函数暴露给我的Python模块,所以我这样做了:
boost::python::def ("create_parser", (parser(*)(int, char **)) create_parser);
但是当我在python中将其调用为:
create_parser(2, ['a', 'b'])
我收到此错误:
ArgumentError: Python argument types in
create_parser(int, list)
did not match C++ signature:
create_parser(int, char**)
我需要做一些特定于字符数组的事情以使其在Python代码中公开吗?