Ich bekomme einen undefinierten Verweis auf eine private Methoden in einer Klasse. Hier ist ein kurzer Ausschnitt des Codes (aber die ganze Sache ist derzeit in einer Quelldatei und nicht in Kopf- und Quelldateien aufgeteilt).undefined Referenz innerhalb der gleichen Datei
#include <iostream>
using namespace std;
struct node
{
int key_value;
node *left;
node *right;
};
class btree
{
node *root;
btree();
~btree();
void destroy_tree(node *leaf);
public:
void destroy_tree();
};
btree::btree()
{
root = NULL;
}
btree::~btree()
{
destroy_tree();
}
void btree::destroy_tree()
{
destroy_tree(root);
}
void destroy_tree(node *leaf)
{
if(leaf!=NULL)
{
destroy_tree(leaf->left);
destroy_tree(leaf->right);
delete leaf;
}
}
int main()
{
return 0;
}
Der Compiler gibt „undefiniert Bezugnahme auf` btree :: destroy_tree (node *)‘für diese Linie:
destroy_tree(root);
ist aber nicht die Definition dieser Funktion sofort direkt darunter
?