Premier cas:problème d'initialisation du constructeur
class x
{
public:
x(){}
int mem;
}
Deuxième cas:
class x
{
public:
int mem;
}
int main()
{
x a;
std::cout << a.mem; //member not initialized error in second case
}
Si nous ne définissons pas le constructeur par défaut, le compilateur ajoutera un; et la fonction du constructeur est l'initialisation de la mémoire. Alors pourquoi donne-t-il une erreur dans le second cas, mais pas dans le premier cas?
@Shahbaz et comment cela va-t-il corriger son code? :-) –
Est-ce que vous obtenez vraiment une erreur que mem n'est pas initialisé? Utilisez-vous des raccourcis de ligne de commande lors de la compilation, par hasard? – Vikdor
@AdrianCornish, les gens essaieront en fait de lire le code et de l'aider – Shahbaz