В исходных файлах, которые я использую в своем проекте, есть сравнение между переменными ssize_t
и size_t
:
ssize_t sst;
size_t st;
if(sst == st){...}
Я хотел бы избавиться от предупреждения:
warning: comparison between signed and unsigned integer expressions
Но я не уверен, какую переменную я должен привести к другой?
if((size_t)sst == st){...}
or
if(sst == (ssize_t)st){...}
Что безопаснее, лучше, чище? Спасибо
(signed int)
перед целым числом без знака. Теперь оно должно быть целым числом со знаком и больше не будет вызывать ошибку. - person   schedule 18.04.2013size_t
кint
- это рецепт катастрофы. На 64-битных платформахint
обычно имеет ширину всего 32 бита. - person Fred Foo   schedule 18.04.2013