重载方法之间的升压蟒蛇选择 [英] boost-python select between overloaded methods

查看:82
本文介绍了重载方法之间的升压蟒蛇选择的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设存在着一些类Foo有两个重载方法:

 类Foo
{
  ...
   无效M1(A和a)条;
   无效M1(B和b);

我要揭露这些方法在升压蟒蛇之一:

 的boost ::蟒蛇:: class_<富>(富)
    .DEF(M1,&安培;富:: M1)

我应该如何指定 M1的该签名(A和A)应该在使用M1(B和b)


解决方案

 无效(美孚:: * M1)(A和)=安培;富:: M1;
提高::蟒蛇:: class_<富>(富)
    .DEF(M1,M1)

Assume exist some class Foo with two overloaded methods:

class Foo
{
  ...
   void m1(A& a);
   void m1(B& b);

I need expose one of these methods over boost-python:

boost::python::class_<Foo>("Foo")
    .def("m1", &Foo::m1)

How should I specify that signature of m1(A&a) should be used over m1(B&b)

解决方案

void (Foo::*m1)(A&) = &Foo::m1;
boost::python::class_<Foo>("Foo")
    .def("m1", m1)

这篇关于重载方法之间的升压蟒蛇选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆