Как бороться с сабжевым ворнингом?
Т.е. есть, например, хедер в котором объявлена константа uint MAX_DAYS_TO_BIRTHDAY. Она беззнаковая, что, в общем-то, логично, т.к. количество дней не может быть отрицательным. И теперь, если сравнивать ее с результатом функции int days_till_birthday(time_t birthday), то появляется упомянутый ворнинг. Решения, в общем-то, очевидны:
- Объявить константу как знаковую. Но это не всегда возможно, особенно если либа не твоя, да и в unsigned все-таки содержится подсказка. Можно также не пользоваться по возможности константами, а пользоваться енумами.
- Вырубить ворнинг ключом компилятора. Спорное решение.
- Делать каст при каждом таком использовании, что делает код менее читаемым.
- ???
Кто как борется с этим?