我目前正在开源平台上开发一段与 c++ 集成的 python 代码。Python 类和定义将参数传递给 c++ 文件,函数由此运行。我的 c++ 文件是一个 packet_sink 文件,它采用下面提到的 3 个输入参数:
packet_sink (const std::vector<unsigned char>& sync_vector,
msg_queue_sptr target_queue, int threshold)
部分python代码如下:
self.threshold = -1
if access_code is None:
code = tuple(string_to_1_0_list(default_access_code))
access_code = to_1_0_string(code)
if not packet_utils.is_1_0_string(access_code):
raise ValueError, "Invalid access_code %r. Must be string of 1's and 0's" % (access_code,)
print " _access_code : %s " %(self._access_code,)
self._msgq = gr.msg_queue()# holds packets fromthe PHY
self.phy_anay_demod= phy_anay_demod(self,*args, **kwargs)
self._packet_sink =gr.packet_sink(self._access_code,self._msgq,self.threshold)
的值为_access_code
:
0011010110111011001001010100011101001111001100010000010000111111
但我收到的错误消息如下:
类型错误:在方法 'packet_sink' 中,类型为 'std::vector< unsigned char,std::allocator< unsigned char >> const &' 的参数 1。
如果不能解决问题,任何人都可以帮助我理解错误。