C++ struct constructeur
J'ai essayé de créer ma propre structure. J'ai donc écrit ce morceau de code.
struct node
{
int val, id;
node(int init_val, int init_id)
{
val = init_val;
id = init_id;
}
};
node t[100];
int main()
{
...
}
J'ai essayé de compiler mon programme. Mais j'ai une erreur:
error: no matching function for call to 'node::node()'
note: candidates are:
note: node::node(int, int)
note: candidate expects 2 arguments, 0 provided
note: node::node(const node&)
note: candidate expects 1 argument, 0 provided
node t[100];
par défaut-les constructions de chaque élément, mais node
n'a pas de constructeur par défaut.double possible de un type nécessitent un constructeur par défaut pour déclarer un tableau?
OriginalL'auteur PepeHands | 2013-11-02
Vous devez vous connecter pour publier un commentaire.
vais essayer d'initialiser le tableau en appelant un constructeur par défaut pour
node
. Vous pouvez soit fournir un constructeur par défautou, plutôt avec beaucoup de détails, initialiser tous les 100 éléments explicitement
ou, puisque vous êtes à l'aide de C++, l'utilisation
std::vector
au lieu de cela, en ajoutant à celle-ci (à l'aide depush_back
) lors de l'exécutionmerci
OriginalL'auteur simonc
Cela permettra de réparer votre erreur.
Vous devez déclarer le constructeur par défaut.
OriginalL'auteur iDebD_gh