【发布时间】:2021-08-31 08:47:08
【问题描述】:
我正在尝试编译一些涉及静态和重载成员函数的 boost python 代码。有什么提示吗?我只是无法使用函数指针编译它(以前从未这样做过),但可能还有另一条路要走?p>
#include<iostream>
#include <boost/python.hpp>
#include <boost/python/raw_function.hpp>
namespace python = boost::python;
class ORM
{
public:
static void print() {std::cout << "Fou statique!!!!" << std::endl;}
static void print(std::string st) {std::cout << st << std::endl;}
static void print(std::string st1, std::string st2) {std::cout << st1 << std::endl; std::cout << st2 << std::endl;}
};
void (ORM::*print1)() = &ORM::print;
void (ORM::*print2)(std::string st) = &ORM::print;
void (ORM::*print3)(std::string st1, std::string st2) = &ORM::print;
BOOST_PYTHON_MODULE(politopy)
{
python::class_<ORM>("ORM")
.def("print", &ORM::print1).staticmethod("print")
.def("print", &ORM::print2).staticmethod("print")
.def("print", &ORM::print3).staticmethod("print")
;
}
【问题讨论】:
标签: python c++ boost static overloading