Пропуск возврата в C ++

У меня просто странное поведение в версии g ++ для Windows, которую я получил со Strawberry Perl. Это позволило мне опустить ответное заявление.

У меня есть функция-член, которая возвращает структуру, состоящую из двух указателей, называемыхboundTag:

struct boundTag Box::getBound(int side) {
    struct boundTag retBoundTag;
    retBoundTag.box = this;
    switch (side)
    {
        // set retBoundTag.bound based on value of "side"
    }
}

Эта функция выдала мне несколько неверных результатов, и я обнаружил, что в ней нет оператора return. Я хотел вернутьсяretBoundTag но забыл написать заявление о возврате. Как только я добавилreturn retBoundTag; все было отлично.

Но я проверил эту функцию и получил правильныйboundTag выход из него. Даже сейчас, когда я удаляю оператор return, g ++ компилирует его без предупреждения. WTF? Это угадать, чтобы вернутьсяretBoundTag?

Ответы на вопрос(3)

Ваш ответ на вопрос