Задать вопрос
@lamazavr

Как объявить две структуры с полями типа друг друга?

Имеется структура в которой есть поле типа другой структуры, которая объявлен ниже.
Во второй структуре также имеется поле типа первой структуры.

class modbus_t(Structure):
    _fields_ = [
        ...
        ("backend", POINTER(modbus_backend_t)),
    ]

class modbus_backend_t(Structure):
    _fields_ = [
        ...
        ("mb", modbus_t),
     ]


Как их помирить?
  • Вопрос задан
  • 216 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Хекслет
    Python-разработчик
    10 месяцев
    Далее
Решения вопроса 1
bobrovskyserg
@bobrovskyserg
Используйте атрибут инстанса, а не класса.
Или так:
class modbus_backend_t(Structure):
    pass

class modbus_t(Structure):
    _fields_ = [
        ...
        ("backend", POINTER(modbus_backend_t)),
    ]

class modbus_backend_t(Structure):
    _fields_ = [
        ...
        ("mb", modbus_t),
     ]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы