易截截图软件、单文件、免安装、纯绿色、仅160KB

boost python传递引用?

void xxx(int& x)
{
    x = 100;
}
def("xxx", xxx);

import y
a = 0
y.xxx(a)
报错了:
ArgumentError: Python argument types in
    L0_L1.xxx(int)
did not match C++ signature:
    xxx(int {lvalue})


请问像这种传递引用的函数如何用boost封装?


引用
传引用适合自己设计的类或结构,基础类型要稍微包装一下,譬如简单定义另外一个函数来呼叫原函数:
int _xxx(int _x){xxx(&_x)};然后def("xxx",_xxx)...
同意,Boost也不是万能的,还是有很多它不能包装的东西。

引用
传引用适合自己设计的类或结构,基础类型要稍微包装一下,譬如简单定义另外一个函数来呼叫原函数:
int _xxx(int _x){xxx(&_x)};然后def("xxx",_xxx)...

xxx(&_x)传递的是_x的地址,要传的是一个引用,在C++里编译报错,无法将int* 转化为int&,该怎么设计?

啊...明显参数错了,也漏返回值。试试更正函数体为{xxx(_x);return _x;}

引用
引用 1 楼 angel_su 的回复:
传引用适合自己设计的类或结构,基础类型要稍微包装一下,譬如简单定义另外一个函数来呼叫原函数:
int _xxx(int _x){xxx(&_x)};然后def("xxx",_xxx)...

xxx(&_x)传递的是_x的地址,要传的是一个引用,在C++里编译报错,无法将int* 转化为int&,该怎么设计?



相关问答:

python解压缩的问题

python如何解压缩.Z的文件啊,在windows系统环境下
Q7Z 是一款基于 Qt4 的 7z 压缩工具
http://code.google.com/p/k7z/

开源的

http://sourceforge.net/projects/k7z/

LS的能具体说一说吗?
......

Python中的Unicode在Delphi如何还原成Gb2312?

已知Python 中:
s = unicode("测试", "gb2312")
s = u'\u6d4b\u8bd5'
print s
测试

在Delphi里面如何将\u6d4b\u8bd5这样的还原成Gb2312的汉字呢?
找到个方法
......

python PIL模块打开图片问题

请问下,我的是python2.5安装了PIL模块,然后编写程序打开本机上的一个图片时,为什么老出现错误呢,老是找不到图片,错误提示如下:File "C:\Python25\Lib\site-packages\PIL\Image.py", line 1888, in o ......

初学Python,用Eclipse+pydev,调试时怎么传入参数

如题,我的主函数是传入参数的,平时运行时是用命令行传入参数运行,现在想调试,不知道怎么传进这个命令行的参数
看 Run 菜单中的 Open run Dialog... 里面有,细心看一下

没有这一项啊

sys.argv.append(&qu ......

boost python如何封装返回指针的函数

double** Create_Double_Memory(int ySize, int xSize)
{
if (ySize <= 0 || xSize <= 0)
return NULL;

double** p = new double*[ySize];
for (int i = 0; i < ySize; i++)
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号