易截截图软件、单文件、免安装、纯绿色、仅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&,该怎么设计?



相关问答:

ShareDevelop3.0建立Python项目运行时报错

之前我的电脑上安装了IronPython2.0,后安装ShareDevelop3.0,采用默认设置
我在ShareDevelop中建立了一个默认的Python的控制台或窗体项目,运行时报错如下:

调试器抛出异常System.IO.FileNotFoundException: ......

python正则表达式 如何取出以下字符串 多谢

s='aaa111aaa,bbb222,333ccc,444ddd444,555eee666,fff777ggg'
用正则表达式取出 前后字母相同的数据 结果如下:
111 ddd
谢谢~
Python code:

import re
s='aaa111aaa,bbb222,333ccc,444ddd444,555eee666,ff ......

IIS 7 python 2.6 cgi 文件上传问题

我每次上传的文件读到的数据都不正确。2M 的图片读得10多K 。。哪位大侠可以帮帮我啊。
#!D:\ProgrammerTools\python26\python.exe
#encoding=utf-8
import cgitb
import os
cgitb.enable()
import cgi,urllib ......

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

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

没有这一项啊

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

python怎么print 'hello world'

大家好,我是一个新手,刚开始学python,但是刚开始的helloworld都没法打印,让我很无奈。
我的python安装路径为f:\python31。在path中也设置对了,在windows下运行是这样显示的,希望各位前辈指点一下。谢谢
Pyth ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号