Erreur de compilation

Signaler
Messages postés
1
Date d'inscription
vendredi 5 janvier 2007
Statut
Membre
Dernière intervention
5 janvier 2007
-
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
-
Bonjour
 
J'ai un projet à faire en C++

Voici l'énoncé:
SUJET:
Pour la création d'entiers arbitrairement grands, l'utilisateur pourra entrer une chaîne
(de caractères) de chiffres qui sera transformée en une liste d'entiers positifs à au
plus 6 chiffres. Cette opération correspond à traduire un nombre décimal en base 1000000.
Par exemple, la chaîne "-12345678000090098765432123456789" est associée la liste
[456789,432123,98765,90,345678,12]. On implantera un type enregistrement  comportant
toutes les informations c'est à dire la liste mais aussi le signe (négatif ici). Il
faudra prévoir aussi, pour l'affichage, la conversion du codage choisi pour le grand
nombre en une chaîne.
Vous réaliserez l'addition et la multiplication de grands entiers selon le schéma usuel
qui seront accessible à partir d'un menu.

 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

2 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Il est dit:
"Il faudra prévoir aussi, pour l'affichage, la conversion du codage choisi pour le grand nombre en une chaîne."

Je ne vois pas cela de passé à printf(), faudrait au moins un truc du genre:
nb3.ToString()

ciao...
BruNews, MVP VC++
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
Le plus logique serait d'écrire l'opérateur << (si on veut une chaine, on utilise un ostringstream)

_____________________________________
Un éditeur de ressources gratuit pour Windows