Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1385 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C]Pourquoi ce Warning? une idée?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C]Pourquoi ce Warning? une idée?

n°314794
albino13
Against TCPA // Palladium
Posté le 21-02-2003 à 11:10:59  profilanswer
 

Salut tt le monde :hello:  ,
lors de la compilation de mon programme j'ai ce warning
"Conversion may lose significant digits"
en soit le message je le comprend mais ce que je ne comprends pas c'est pourquoi il me dit ca?
ce qui ce passe c'est a chaque fois que j'effectue cette operation
 

Code :
  1. char reponse;
  2. [...]
  3. reponse=getch();

 
j'ai ce warning... mais pourquoi donc?
 
merci a tous:hello:
 
petit oubli.. je suis sous win XP borland C++ builder 6.0 et je fais du 'C'


Message édité par albino13 le 21-02-2003 à 11:13:15
mood
Publicité
Posté le 21-02-2003 à 11:10:59  profilanswer
 

n°314799
BifaceMcLe​OD
The HighGlandeur
Posté le 21-02-2003 à 11:13:12  profilanswer
 

Tu obtiens ce message quand tu places dans une variable d'un certain type une valeur dont le type a une plus grande précision ou qui offre un intervalle de valeurs permises plus grand.
Exemple, si tu places la valeur 258 de type int dans un char, tu obtiendras la valeur 2...


Message édité par BifaceMcLeOD le 21-02-2003 à 11:13:51
n°314800
Kristoph
Posté le 21-02-2003 à 11:13:21  profilanswer
 

getch ne retourne pas un char mais un int. Par exemple, getch peut retourner EOF qui ne peut pas se coder sur un char

n°314802
BifaceMcLe​OD
The HighGlandeur
Posté le 21-02-2003 à 11:14:08  profilanswer
 

Pas assez rapide petit scarabée...  :D

n°314803
albino13
Against TCPA // Palladium
Posté le 21-02-2003 à 11:14:41  profilanswer
 

BifaceMcLeOD a écrit :

Tu obtiens ce message quand tu places dans une variable d'un certain type une valeur d'une plus grande précision ou dont l'intervalle de valeur est plus grand.
Exemple, si tu places la valeur 258 de type int dans un char, tu obtiendras la valeur 2...


c'est tout a fait ce que je me disais egalement mais la variable qui est reseptacle est de type char... et c un getch()... pourquoi je perdrais des informations? a premiere vu c'est de même type.. je comprend pas

n°314808
albino13
Against TCPA // Palladium
Posté le 21-02-2003 à 11:17:59  profilanswer
 

BifaceMcLeOD a écrit :

Pas assez rapide petit scarabée...  :D  

[:frenzy]

n°314810
albino13
Against TCPA // Palladium
Posté le 21-02-2003 à 11:18:30  profilanswer
 

Kristoph a écrit :

getch ne retourne pas un char mais un int. Par exemple, getch peut retourner EOF qui ne peut pas se coder sur un char


ok je comprend bien mieux alors  :jap:  :jap:  
merci bien

n°314812
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-02-2003 à 11:18:50  profilanswer
 

albino13 a écrit :


c'est tout a fait ce que je me disais egalement mais la variable qui est reseptacle est de type char... et c un getch()... pourquoi je perdrais des informations? a premiere vu c'est de même type.. je comprend pas


tu perds des infos parce que getchar() renvoie un int, que tu stockes dans un char !
c'est pourtant pas dur à comprendre ! si tu chausses du 44 et que tu achètes du 38, tu auras mal aux pieds !


---------------
J'ai un string dans l'array (Paris Hilton)
n°314813
BifaceMcLe​OD
The HighGlandeur
Posté le 21-02-2003 à 11:18:55  profilanswer
 

Ne jamais faire d'a priori sur les prototypes de fonctions qu'on utilise : toujours se reporter à une documentation de référence de l'API.
 
Kristoph a donné l'information manquante. getch() renvoie bien un int, et ta supposition était fausse. Mais rassure-toi, c'est un des pièges classiques de l'API du C ANSI, et tu n'es ni le premier, ni (hélas) le dernier à tomber dans le panneau...  :sarcastic:
 
edit> A mon tour, d'être trop lent.  :o


Message édité par BifaceMcLeOD le 21-02-2003 à 11:19:43
n°314865
HelloWorld
Salut tout le monde!
Posté le 21-02-2003 à 12:28:29  profilanswer
 

Citation :

si tu chausses du 44 et que tu achètes du 38, tu auras mal aux pieds !


Heu ... tu veux plutôt dire si tu chausses du 32 et que t'achètes du 8 ... :)


Message édité par HelloWorld le 21-02-2003 à 12:28:55

---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
mood
Publicité
Posté le 21-02-2003 à 12:28:29  profilanswer
 

n°314872
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-02-2003 à 12:31:59  profilanswer
 

HelloWorld a écrit :

Citation :

si tu chausses du 44 et que tu achètes du 38, tu auras mal aux pieds !


Heu ... tu veux plutôt dire si tu chausses du 32 et que t'achètes du 8 ... :)

[:xp1700]


---------------
J'ai un string dans l'array (Paris Hilton)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C]Pourquoi ce Warning? une idée?

 

Sujets relatifs
ma super idee programmer comme un porc.. =)Signification d'un warning
[ C ] vous avez des idée d' algos pour un jeu??1 prog = Super idée!
idée pour l'etat de connectionWarning: The IV parameter must be as long as the blocksize
pt prob de newb -> Warning: mysql_num_rows(): supplied argument is notProblème avec la fonction mail(..) --> "Warning serveur error"
une idee de ce que fait ce code[Idée] Créer un prog de d/l sur ftp en cascade
Plus de sujets relatifs à : [C]Pourquoi ce Warning? une idée?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR