J'ai donc une classe qui contient une structure dans ses variables privées et dans cette structure j'ai un tableau où la taille du tableau est seulement déterminée après la construction de la classe.Construire une classe avec une structure interne C++
template <typename T>
class btree {
public:
btree(size_t maxNodeElems);
~btree() {}
private:
// The details of your implementation go here
size_t maxNodeElems;
struct node {
list <T> elements;
node lvl[];
};
};
Tout d'abord, dois-je faire de sorte que son node * lvl
et comment puis-je appeler les variables à l'intérieur de cette structure? Est-ce la même chose qu'une variable privée, alors chaque fois que je l'utilise dans l'une des fonctions btree class
, je peux l'appeler btree.lvl
ou est-ce btree->node->lvl
ou existe-t-il une façon particulière de le faire?
Aussi, mon tableau doit être de maxNodeElems+1
si quelqu'un peut m'aider, ce serait très apprécié!
voilà ce que cela veut dire, je peux le faire 'n> lvl = nouveau noeud [maxNodeElems + 1],' 'si je change noeud lvl []' à 'node * lvl'? – SNpn
Oui. Vous pouvez le faire directement dans la classe (j'ai nommé ma variable memberNode). Les membres de la structure sont publics par défaut, cela devrait donc fonctionner. –
son jeter un tas d'erreurs quand j'essaye 'memberNode = new btree :: node;' principalement 'btree.tem: 8: erreur: ne peut pas convertir 'int *' en 'btree :: noeud *' dans l'affectation' –
SNpn