Sto usando l'hash FNV come algoritmo di hash sull'implementazione della tabella hash ma sto ricevendo l'avviso nel titolo della domanda su questo linea:Impossibile eliminare "questa costante decimale è senza segno solo in ISO C90" avviso
unsigned hash = 2166136261;
non capisco perché questo sta accadendo perché quando faccio questo:
printf("%u\n", UINT_MAX);
printf("2166136261\n");
ottengo questo:
4294967295
2166136261
Quale sembra essere sotto i limiti della mia macchina ...
Perché ricevo l'avviso e quali sono le opzioni per eliminarlo?
Suppongo che non imponga alcuna implicazione nell'algoritmo di hashing FNV e che funzionerà sempre come dovrebbe? –
@Naz: Sì. ____ – kennytm
Si noti che il codice è ben definito e conforme a tutte le versioni di C Standard - il suffisso è solo "necessario" per silenziare un avviso che, in questo caso, è spurio. –