c++ compiler erreur liée à un constructeur/destructeur définition
Je suis en train de définir le constructeur et le destructeur de ma classe mais je reçois l'erreur:
définition du implicitement déclarée " x::x()'
Ça veut dire quoi?
Partie du code:
///Constructor
StackInt::StackInt(){
t = (-1);
stackArray = new int[20];
};
///Destructor
StackInt::~StackInt(){
delete[] stackArray;
}
- Comment sont vos fichiers structurés (*.h, *.rpc)? Quel est le fichier qui a publié code?
Vous devez vous connecter pour publier un commentaire.
Dans la déclaration de classe (probablement dans un fichier d'en-tête), vous devez avoir quelque chose qui ressemble à:
Pour permettre au compilateur de savoir que vous ne voulez pas que le défaut généré par le compilateur versions (puisque vous êtes leur fournissant).
Il y aura probablement plus de la déclaration que cela, mais vous aurez besoin d'au moins l'un de ceux - et cela vous aidera à démarrer.
Vous pouvez voir ce à l'aide de la très simple:
Compiler et il fonctionne. Puis supprimer la ligne avec le marqueur de commentaire et de compiler à nouveau. Vous verrez vos problèmes apparaissent alors:
Une autre chose à garder à l'esprit que tout ce que le constructeur d'accès doivent être publics. J'ai obtenu cette erreur avant.
Ce code ont toujours l'erreur parce que dans mon constructeur, j'ai eu la suivante:
Qui signifie que même si j'avais fait le constructeur et le destructeur public, les données qu'ils ont à travailler avec était encore privé, et j'ai toujours "la définition implicitement déclarées" erreur.