Я разработчик программного обеспечения для семейного древа (написан на С++ и Qt). У меня не было проблем, пока один из моих клиентов не отправил мне сообщение об ошибке. Проблема в том, что у клиента есть двое детей со своей дочерью, и в результате он не может использовать мое программное обеспечение из-за ошибок.
Эти ошибки являются результатом моих различных утверждений и инвариантов относительно обрабатываемого графа семейства (например, после прохождения цикла программа заявляет, что X не может быть и отцом, и дедушкой Y).
Как я могу разрешить эти ошибки, не удаляя все утверждения данных?