Fefer_Ivan's blog

By Fefer_Ivan, 15 years ago, In Russian

Доброе утро/день/вечер.

Только что во время дебага заметил, что написал

bool check(int x, int y){

    return 0 <= x && x < n && 0 <= y < m;

}

Программа компилировался, но работала, естественно, не правильно.

Другой подобный баг встречается чаще.

int getAns(...){

    int ans = 0;

    {

        ///Вычисление ответа

    }

     //здесь должен быть return ans; но он забыт.

}

Это тоже компилируется.

Другой более интересный пример, о котором я только слышал от Дмитрия Матова (Nerevar) :

int f = f(x1, y1, z1) + f(x2, y2, z2) + (x3, y3, z3);

Нет, я не забыл f перед третьей скобкой. Это тоже компилиться и работает.

Буквально сегодня из-за другой подобной ошибки мой напарник получал разные ответы при компиляции в g++ и  в Visual Studio.

А какие вы знаете подобные вещи в С++?

Tags c++
  • Vote: I like it
  • +14
  • Vote: I do not like it