J'ai le code suivant qui vérifie simplement un arbre AVL si un mot/clé existe déjà dedans. Si elle le fait renvoie un pointeur sur ce nœud sinon il retourne null:C++ Comment accéder au membre de données d'un objet renvoyé d'une fonction?
void fileInput::testFunction() {
node newWord;
newWord.key = "test";
newWord.wordCount = 1;
tree.AVL_Insert(newWord);
if ((verifyWord("test").wordCount) != NULL) {
//insert increment wordCount code here;
}
}
C'est le struct noeud:
struct node {
string key;
int wordCount;
};
C'est fonction verifyWord
node fileInput::verifyWord(string a) {
node b;
tree.AVL_Retrieve(a, b);
return b;
}
C'est le AVL_Retreive Fonction:
template <class TYPE, class KTYPE>
bool AvlTree<TYPE, KTYPE>
:: AVL_Retrieve (KTYPE key, TYPE& dataOut)
{
NODE<TYPE> *node;
if (!tree)
return false;
node = _retrieve (key, tree);
if (node)
{
dataOut = node->data;
return true;
} // if found
else
return false;
} // AVL_Retrieve
Ma question est de savoir comment je serais en mesure d'incrémenter wordCount de l'objet retourné dans l'instruction if dans testFunction()
Alors, quelle est votre question? –
"Je voudrais vérifier si un mot existe déjà dans l'arbre si c'est le cas je voudrais incrémenter son wordCount sinon je l'insère dans l'arbre" - sonne comme un bon plan. Essayez-le au mieux, puis dites-nous comment cela fonctionne. –
@JohnZwinck Comment puis-je incrémenter wordCount dans le pointeur d'objet renvoyé par la fonction verifyWord? – nanjero05