У меня есть следующий код
//Point.h
#define WIDTH 8
#define HEIGHT 8
typedef struct Point
{
char x;
char y;
} Point;
//Board.c
#include <stdbool.h>
// Some other functions that we don't care about...
bool inBounds(Point * p)
{
return p->x >= 0
&& p->x <= WIDTH
&& p->y >= 0
&& p->y <= HEIGHT;
}
Когда я компилирую это (ppu-gcc 4.1.1), я получаю следующее предупреждение
warning: comparison is always true due to limited range of data type
, даже если диапазон значений от -127 до 127, а WIDTH - 8, что находится в пределах диапазона символов. Я уже пробовал явное приведение WIDTH к символу, но все равно получил ошибку.