error: invalid operands of types 'const char [15]' and 'short .. - C++ - Programmation
Marsh Posté le 23-07-2005 à 23:36:04
Salut,
Dans l'erreur il te dit que tu ne possédes pas d'opérateur <<(const char*, short)
Donc, tu dois passer par une string temporaire, ce qui n'est pas un mal vu que la première moitié de ta string se répète.
Deux petites remarques:
- tu peux chainer les saisies,
- tu peux utiliser un switch pour les suites de if...else if...else if...
Marsh Posté le 23-07-2005 à 23:54:53
merci de ta réponse.
String temporaire pour pause ?
-chainer les saisies, ca veut dire quoi ?
-pour la condition, j'ai fait comme je savais, je regarderai pour l'optimiser avec un switch merci
J'ai changé 'if' par 'switch'
Code :
|
Marsh Posté le 24-07-2005 à 00:12:24
bah tu fais une recherche sur le forum sur comment passer un int en std::string
Marsh Posté le 24-07-2005 à 09:12:50
j'ai avancé si on peut dire
D'ailleurs, y a t-il un glossaire avec la définition pour chaque "error" ?
Citation : shot.cpp: In function 'int main()': |
Les 2 bouts de codes en rapport.
Code :
|
//un cout << pause; ici m'affiche bien la valeur de p..
Code :
|
Marsh Posté le 24-07-2005 à 09:26:48
bah que veux tu qu'on te dises ... pourtant t'es dans le haut du panier vu que tu as trouvé un morceau de code qui fonctionne. Mais t'as pas du lire le reste. Tu vas nulle part vu que :
- tu comprends pas la notion de type
- ton compilateur te dit que les opérandes sont pas valides. Prend un dictionnaire si tu sais pas ce qu'est une opérande.
Y a aucune magie, c'est pas en mélangeant les lignes que ça va finir par marcher.
Marsh Posté le 24-07-2005 à 10:36:04
Code :
|
ET c'est bien parce que c'est dimanche
Marsh Posté le 25-07-2005 à 00:00:30
merci beaucoup Joel F
Le programme fonctionne maintenant.
Voici le code. Je suis sur que c'est mal écrit, alors j'attends vos reproches.
Donc pour la conversion, il faut passer à "buffer", toute la chaîne, et pas seulement le nombre à convertir... c'est pas ce que j'avais compris avec la solution de http://c.developpez.com/faq/cpp/?p [...] S_numtostr
Code :
|
Marsh Posté le 25-07-2005 à 00:59:46
remplace
cin >> p;
par
if(not (cin >> p)) { cout << "pas bon"; return 1; }
Marsh Posté le 25-07-2005 à 18:25:48
le if(no..) c'était bien pour dire pas bon et fermer si la personne ne répond pas à la question pour 'p' ?
Car si je ne réponds pas (si je tape ENTREE sans entrer de valeur), ca ne fait rien de particulier... ca fait comme s'il n'y avait pas le if.
Marsh Posté le 25-07-2005 à 18:31:44
fais un Control-Z puis entrée et tu verras, j'imagine ...
Marsh Posté le 25-07-2005 à 18:33:29
Citation : ./shot |
je suis sous Linux...
Marsh Posté le 25-07-2005 à 18:55:28
ok, donc le msg du if s'affiche si on quitte le programme... je vois pas trop l'utilité qd meme puisque si on quitte c'est qu'on veut pas continuer..
Marsh Posté le 25-07-2005 à 18:59:53
c'est si tu as un problème de flux d'entrée, que le message sort ... une fin de flux inattendue est un cas problématique à traiter, normalement
ctrl-D n'a jamais été un raccourci pour "quitter" quoi que ce soit
Marsh Posté le 25-07-2005 à 19:22:46
t'as que tapper du texte à la place d'un entier pour voir ...
Marsh Posté le 23-07-2005 à 23:27:39
Hello world
je débute (comme tous les ans ) en C++
J'ai écrit un petit script bash, et je le retranscris en C++.
J'ai déclaré 2 variables. J'ai choisi short car le nombre rentré ne devrait jamais être supérieur à 20)
Je demande les valeurs à l'utilisateur :
Et en fonction de la valeur de what, j'exécute...
Mon problème, c'est d'intégrer la valeur de la variable 'pause', entrée par l'utilisateur, à la chaîne de system.
Il faut convertir pause en string ?
J'ai ca comme erreurs - Forcément, on retrouve la même à chaque fois ligne où il y a "pause" dans le if :
g++ -o hello hello.cpp
hello.cpp: In function 'int main()':
hello.cpp:26: error: invalid operands of types 'const char [15]' and 'short unsigned int' to binary 'operator<<'
hello.cpp:28: error: invalid operands of types 'const char [15]' and 'short unsigned int' to binary 'operator<<'
hello.cpp:30: error: invalid operands of types 'const char [15]' and 'short unsigned int' to binary 'operator<<'
Message édité par Profil supprimé le 23-07-2005 à 23:29:03