La transmission de l'argument 1 supprime les qualificateurs du type de cible de pointeur
Ma principale fonction est la suivante:
int main(int argc, char const *argv[])
{
huffenc(argv[1]);
return 0;
}
Le compilateur renvoie l'avertissement:
huffenc.c:76: warning: passing argument 1 of ‘huffenc’ discards qualifiers from pointer target type
De référence, huffenc
prend un char*
d'entrée, et la fonction est exécutée, avec l'exemple de l'entrée de "l'absurdité" via ./huffenc senselessness
Ce que cela pourrait avertissement signifie?
source d'informationauteur Alex Nichols | 2013-03-13
Vous devez vous connecter pour publier un commentaire.
Cela signifie que vous avez passer un
const
argument à une fonction qui prend un non-const
argument, qui est potentiellement mauvais pour des raisons évidentes.huffenc
n'a probablement pas besoin d'un non-const
argument, de sorte qu'il devrait prendre unconst char*
. Cependant, votre définition demain
est non-standard.Le standard C99 Section 5.1.2.2.1 (Programme de démarrage) états:
Et continue à dire...