Несколько возможных причин, по которым из вызова класса может возвращаться пустой объект:
- Отсутствие объекта, который должен быть возвращён. 1 Например, если процедура поиска должна вернуть объект или особый сигнал о том, что объект не найден, можно возвращать не сам объект, а указатель на него. 1 Тогда в случае отсутствия объекта можно вернуть NULL. 1
- Возвращение ссылки на нулевой объект. 1 Это позволит избежать лишнего копирования. 1 Как правило, нулевой объект — это объект, сконструированный с помощью конструктора по умолчанию. 1
- Отсутствие возврата через return. 4 Например, если в функции не прописан return, она возвращает None. 4
Для решения проблемы рекомендуется проверить и при необходимости исправить код.