我有一个C++函数,它接受一个std::string作为参数和一个作为缓冲区的python对象。我认为我可以直接传递buffer,Boost Python会自动将其转换为字符串,但它没有:
Boost.Python.ArgumentError: Python argument types in
    mod.decrypt(buffer)
did not match C++ signature:
    decrypt(std::string string_to_decrypt)有必要为此编写转换器吗?我以为它会隐含地转化为。谢谢你的建议。
发布于 2012-02-17 07:15:37
错误消息说明了一切-您的签名是一个字符串,但您正在向它传递一个缓冲区。
它不会内省对象来决定如何转换它- buffer可以是任何东西。
您需要对其进行转换。
https://stackoverflow.com/questions/9320418
复制相似问题