J'ai un problème avec un constructeur par défaut en C++. C'est une chose simple mais ne peut pas voir ce qui ne va pas.Appel du constructeur par défaut
J'ai un constructeur avec 3 paramètres optionnels, avec des valeurs const sur la liste d'initialisation:
data::data(int D = 1, int M = 1, int Y = 1583) : Day(D), Month(M), Year(Y)
{
if (!CorrectDate()) throw "Wrong Date!";
}
Pourquoi puis-je appeler avec un, deux ou trois paramètres et il fonctionne très bien, mais ne fonctionne pas quand je appelez-le sans paramètres?
data tommorrow();
Voir: [parse le plus contrariant: pourquoi pas A un (()); travail?] (http://stackoverflow.com/questions/1424510/most-vexing-parse-why-doesnt-a-a-work). La réponse courte est, vous déclarez une fonction là. Si vous voulez appeler le constructeur par défaut, omettez les parens. –