J'aimerais que la fonction DateCreate passe les paramètres donnés à ceux de la structure.
J'ai essayé en ayant la date de variable D en tant que paramètre de fonction, mais cela me montre toujours le jour d'erreur «champ» / mois / année »n'a pas pu être résolu». P>
struct Date{
int day;
int month;
int year;
} ;
Date dateCreate (int d, int m, int y){
Date d;
d.day =d;
d.month = m;
d.year =y;
return 0;
};
int main() {
int d,m,y;
cin << d << m << y;
cout << dateCreate(d,m,y); //Not completely sure if this is right either.
return 0;
}
4 Réponses :
pour expression daecreate code> doit renvoyer d code>, pas 0 code>. p>
COUT << DATECREATE (D, M, Y) CODE> Pour compiler, vous devez implémenter std :: ostream et opérateur << (STD :: Ostream &, date Const Const &) code>. p>
plutôt qu'une fonction libre, je vous suggère de donner votre alors vous pouvez créer cet objet comme p> struct code> un constructeur cout << date;
La manière la plus concise de correction de votre extrait permet de fournir un opérateur de sortie pour les objets code> date code>, par exemple puis à l'aide des opérateurs corrects pour lire l'entrée de l'utilisateur < / p> et enfin à l'aide de la date code> Constructeur généré par le compilateur: p> vous donez T Besoin d'une fonction Création d'un objet de date tant que vous ne vérifiez pas l'entrée. P> Note, cependant, que date code> peut désormais être dans des états non valides (jour négatif ou Valeurs de mois, etc.), donc pour le raffinement futur, vous devez implémenter un constructeur approprié qui jette une entrée illégale ou modifier la fonction créée code> de telle sorte qu'elle Renvoie un std :: en option std :: nullopt code>) sur une entrée illégale. p> p>
Code équivalent:
int main()
{
Date d{1, 1, 1980};
in >> d;
}