この警告を削除するためのCプログラミング言語の解決策を探しています。
符号付き警告と符号なし警告の比較
タイプの変数でcast
toを実行する代わりに、次のように考えました。unsigned
int
#if MAX_NAME >= INT_MAX
size_t name_size = 0;
#define INT_TYPE size_t
#else
int name_size = 0;
#define INT_TYPE int
#endif
その後:
if(.. && name_size++ >= (INT_TYPE)sizeof(name)) {
//..
}
どのように修正しますか?
また、マクロの名前の提案もINT_TYPE
高く評価されています。