我正在尝试使用VS 2012在C ++中编写简单的二叉树程序。即使所有路径都设置它给我链接错误,如附件所示,当我在插入函数内注释注释时,它编译没有错误
// C++ code
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout <<" Simple Binary Tree Examples";
getchar();
return 0;
}
struct node
{
int data;
node *left;
node *right;
};
public class BinaryTree
{
public :
BinaryTree();
~BinaryTree();
void insert(int value);
/*{
if(root==NULL)
{
insert(value,root);
}
else
{
root = new node;
root->data=value;
}
}*/
void delete_tree();
private:
node *root;
void insert(int value,node *leaf);
};
BinaryTree::BinaryTree()
{
root=NULL;
}
BinaryTree::~BinaryTree()
{
delete_tree();
}
void BinaryTree::insert(int value)
{
// If i un-comment the below code.. it gives link error.
/* if(root==NULL)
{
insert(value,root);
}
else
{
root = new node;
root->data=value;
}*/
}
真的不知道什么是错的,因此共享了整个代码。
答案 0 :(得分:3)
您的代码不包含delete_tree
的定义,您的析构函数中提到了该定义。
它既不应该用注释的代码编译,也不应该编译。