У меня есть такие структуры:
struct A{
void do_stuff(){...does stuff};
}
struct B{
std::vector<std::shared_ptr<A>> objs;
}
мой pybind:
py::class_<A>(m, "A")
.def("do_stuff", &A::do_stuff)
py::class_<B>(m, "B")
.def_readwrite("objs", &B::objs);
Поведение, которое я пытаюсь достичь:
import mybind
b_instance = mybind.B()
for a_instance in b_instance:
a_instance.do_stuff()
К сожалению, яget
MemoryError: std :: bad_alloc
Пожалуйста, помогите мне.Код выше не является кодом, с которым я работаю.Класс A работает сам по себе, но не работает при итерации по B. Если этого кода недостаточно, напишите в комментариях.Спасибо!