В настоящее время я работаю над частью кода на Python, интегрированной с c ++ на платформе с открытым исходным кодом.Классы и определения 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
is:
0011010110111011001001010100011101001111001100010000010000111111
Но сообщение об ошибке, которое я получаю, выглядит следующим образом:
Ошибка типа: в методе 'packet_sink', аргумент 1 типа 'std :: vector> const & '.
Может кто-нибудь помочь мне понять ошибку, если не решение проблемы.