Есть ли способ получить значение переменной из предопределенной функции C ++, используя Python?У меня есть функция C ++, которая принимает variant
тип в качестве аргумента.Но мы не можем определить переменную типа variant
в python, верно?Я пытался использовать Boost.Python
, pybind11
.Но так как я не могу редактировать предопределенную функцию, я не могу их реализовать.
Редактировать: у меня есть функция C ++ с именем bcap
, которая принимает 2 аргумента и возвращает 2 значения.
# C++ code
# Takes these arguments
int32 func_id
variant[] vntArgs
---
# Returns these values
int32 HRESULT
variant vntRet
И variant[] vntArgs
имеет 2 типа переменных.
int16 vt
string value
И я пытаюсь вызвать эту функцию, используя эти аргументы.
#python code
func_id = 3
vt = 8
value_1 = 'value: b-CAP'
value_2 = 'CaoProv.DENSO.VRC'
value_3 = 'localhost'
value_4 = ''
vntArgs = [vt, value_1, vt, value_2, vt, value_3, vt, value_4]
response = bcap(func_id, vntArgs)
#store the response in some variables
result1 = response.HRESULT
result2 = response.vntRet
Проблемакогда я запускаю эту программу, возникает эта ошибка.
AttributeError: 'int' object has no attribute 'vt'
Что мне делать?
Заранее спасибо.