Доброе утро/день/вечер.
Только что во время дебага заметил, что написал
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.
А какие вы знаете подобные вещи в С++?