C++ 嵌入Python:如何帮助脚本编写者?
我正在使用Boost将Python嵌入到我的应用程序中。例如,我想检查以下函数是否接收一个整数和一个字符串作为第一个和第二个参数(该函数是用C++定义的)C++ 嵌入Python:如何帮助脚本编写者?,c++,python,boost,boost-python,C++,Python,Boost,Boost Python,我正在使用Boost将Python嵌入到我的应用程序中。例如,我想检查以下函数是否接收一个整数和一个字符串作为第一个和第二个参数(该函数是用C++定义的) 例如,如果发现参数不正确,如何通知脚本编写者需要更正哪一行 使用您希望他们知道的所有信息引发异常,就像在Python中一样。事实上,这个答案似乎很明显,它让我觉得我在你的问题中遗漏了一些东西。对你希望他们知道的所有信息提出一个例外,就像在Python中一样。事实上,这个答案看起来很明显,它让我觉得我在你的问题中漏掉了什么东西。 < P>如果你
例如,如果发现参数不正确,如何通知脚本编写者需要更正哪一行 使用您希望他们知道的所有信息引发异常,就像在Python中一样。事实上,这个答案似乎很明显,它让我觉得我在你的问题中遗漏了一些东西。对你希望他们知道的所有信息提出一个例外,就像在Python中一样。事实上,这个答案看起来很明显,它让我觉得我在你的问题中漏掉了什么东西。 < P>如果你用通常的代码> DEF(“某个函数”,某个函数,…)<代码>来包装函数,调用方会自动地得到关于与Python传递的对象不匹配的C++签名的通知,就像这样(该方法采用一个字典参数,改为使用3个数字调用):
你能发布一些代码来查看你的问题吗?
< P>如果你用通常的代码> DEF(“某个函数”,某个函数,…)<代码>来包装函数,调用方会自动地得到与Python传递的对象不匹配的C++签名,就像这样(该方法采用一个字典参数,改为使用3个数字调用): 你能发布一些代码来看看你的问题是什么吗someFunction(123, 'words')
>>> scene.updateAttrs(1,2,3)
ArgumentError: Python argument types in
Serializable.updateAttrs(Scene, int, int, int)
did not match C++ signature:
updateAttrs(Serializable {lvalue}, boost::python::dict)