Erreur de compilation - C++ - Programmation
Marsh Posté le 05-01-2007 à 21:26:50
Salut,
nb3 n'est pas une chaîne.
Par contre, c'est du C et pas du C++ (utilise std::cout)
Marsh Posté le 05-01-2007 à 21:46:47
Mon cours porte sur de l'initiation au C++ et je n'ai jamais fait de C.
Désolé IrmatDen, mais je ne connait pas cette fonction.
Marsh Posté le 05-01-2007 à 22:00:20
printf vient du C, et ne fait absolument pas partie du C++. Tu l'apprendras plus tard dans ton cours j'espère.
Bref, ton erreur vient du fait qu'en mettant %s, printf attend une chaîne de caractère, et que tu lui passes une classe (ou un pointeur de classes, vu le code fourni c'est pas très clair ).
Marsh Posté le 05-01-2007 à 22:09:42
Quand je mets std::cout, il m'affiche:
53 C:`cout' is not a member of `std'
Merci
Marsh Posté le 05-01-2007 à 22:28:43
Non mais ça résoudra pas ton problème puisque cout ne sauras pas afficher ta classe de toute façon. Je me sens pas trop d'expliquer là, j'ai plutôt envie de rentrer chez moi, et de toute façon autant que tu te tiennes à ton cours, en gardant en tête que printf est une solution "temporaire".
Pour l'instant concentre-toi sur tont erreur, er relis mon précédent message.
Marsh Posté le 06-01-2007 à 03:27:26
IrmatDen a écrit : printf vient du C, et ne fait absolument pas partie du C++. |
Faux. le standard C++ inclu la bibliothèque C par référence.
IrmatDen a écrit : Bref, ton erreur vient du fait qu'en mettant %s, printf attend une chaîne de caractère, et que tu lui passes une classe (ou un pointeur de classes, vu le code fourni c'est pas très clair ). |
Non, l'erreur est que passer un objet non POD à une fonction variadic (printf) est un comportement indéfini. gcc -- ça à l'air d'être le compilateur que le PO utilise -- est sympa, emet un warning et abort à l'exécution, c'est son droit.
Marsh Posté le 06-01-2007 à 03:57:39
Au temps pour moi sur printf, et merci de la rectification
Par contre, pour ta seconde remarque, je ne vois pas trop où tu veux en venir ni en quoi je me trompe
Ok, j'ai pas autant détaillé que toi, mais ce que tu marques, c'est ce qu'il y a dans le warning
Edit: c'est vrai que j'aurais ptet pas du partir du partir du principe qu'il veut afficher une chaîne mais ce foutu printf avec son %s me l'a gentiment laissé penser.
Marsh Posté le 06-01-2007 à 09:43:04
IrmatDen a écrit : Par contre, pour ta seconde remarque, je ne vois pas trop où tu veux en venir ni en quoi je me trompe |
Le warning est parfait, j'y peux rien
IrmatDen a écrit : Edit: c'est vrai que j'aurais ptet pas du partir du partir du principe qu'il veut afficher une chaîne mais ce foutu printf avec son %s me l'a gentiment laissé penser. |
C'est peut-être toi qui est dans le vrai.
Marsh Posté le 05-01-2007 à 21:23:41
Bonjour
J'ai un projet à faire et lorsque je compile il me donne cette erreur:
printf("Le résultat de l'addition est %s:\n",nb3);
51 [Warning] cannot pass objects of non-POD type `class grandnombre' through `...'; call will abort at runtime
Merci de m'aider