(deleted)
Bonjour,
Comme le dit le message c'est une comparaison entre un entiers signés et non signés
Déclare la fonction et le tableau en usigned
unsigned long_mois(int bissextile, int mois)
{
const unsigned l_mois[2][12] =
{
{ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
,
{ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
};
return (l_mois[bissextile][mois]);
}
ou mieux en uint8_t
De plus le calcul va être fait en entier et il va y avoir débordement. Il faut le faire en unsigned long
while (secsRest >= (long_mois(BISSEXTILE(an), mois) * 86400UL))
(deleted)
Oui en règle générale il faut toujours corriger les warnings. ça vous oblige à réfléchir à la cohérence des types, améliorer la lisibilité (donc la maintenabilité) etc
à moins d’apprécier d'être entouré de mouches ...
(deleted)
J-M-L:
Oui en règle générale il faut toujours corriger les warnings. ça vous oblige à réfléchir à la cohérence des types, améliorer la lisibilité (donc la maintenabilité) etc
Entièrement d'accord et j'ajoute que ce qui fonctionne avec warning pour un compilateur peut très bien ne plus fonctionner avec un autre compilateur voire avec une nouvelle version du même compilateur.