Я пару раз видел следующую ошибку типа при работе с кодом C ++:
QString str = str.toUpper();
Это может быть довольно просто ошибка, которую нужно сделать, и тем не менее она компилируется и выполняется (иногда со сбоями, иногда без). Я не вижу никаких обстоятельств, при которых вы действительно хотели бы сделать это.
Некоторое тестирование показало, что копия вызывается конструктор, а не конструктор по умолчанию, и что объект передается сам себе из конструктора копирования.
Может ли кто-нибудь объяснить, почему это не ошибка компилятора или даже не предупреждение?