将python-python缓冲区提升到C++;字符串 我有一个C++函数,它以一个STD::string作为参数,而Python对象是一个缓冲区。我认为我可以直接传递缓冲区,Boost Python会自动将其转换为字符串,但它没有: Boost.Python.ArgumentError: Python argument types in mod.decrypt(buffer) did not match C++ signature: decrypt(std::string string_to_decrypt)

将python-python缓冲区提升到C++;字符串 我有一个C++函数,它以一个STD::string作为参数,而Python对象是一个缓冲区。我认为我可以直接传递缓冲区,Boost Python会自动将其转换为字符串,但它没有: Boost.Python.ArgumentError: Python argument types in mod.decrypt(buffer) did not match C++ signature: decrypt(std::string string_to_decrypt),python,boost,Python,Boost,是否需要为此编写转换器?我认为它会隐式地转换。谢谢您的建议。错误消息说明了一切-您的签名是一个字符串,但您正在传递一个缓冲区 它不会内省对象以确定如何转换它-缓冲区可以是任何东西 你需要转换它

是否需要为此编写转换器?我认为它会隐式地转换。谢谢您的建议。

错误消息说明了一切-您的签名是一个字符串,但您正在传递一个缓冲区

它不会内省对象以确定如何转换它-缓冲区可以是任何东西

你需要转换它