注释掉函数体会在VS 2012中产生奇怪的链接错误 我尝试用VS 2012编写C++中的简单二叉树程序。即使所有路径都设置,它也会给我链接错误,如附件所示,当我在插入函数中注释注释时,它编译无误。
<代码> /C++代码 #包括“stdafx.h” #包括 使用名称空间std; int _tmain(int argc,_TCHAR*argv[] { cout数据=值; }*/ }注释掉函数体会在VS 2012中产生奇怪的链接错误 我尝试用VS 2012编写C++中的简单二叉树程序。即使所有路径都设置,它也会给我链接错误,如附件所示,当我在插入函数中注释注释时,它编译无误。,c++,visual-studio-2012,linker-errors,C++,Visual Studio 2012,Linker Errors,/C++代码 #包括“stdafx.h” #包括 使用名称空间std; int _tmain(int argc,_TCHAR*argv[] { cout数据=值; }*/ } 真的不知道什么地方可能出错,因此共享了整个代码。您的代码不包含析构函数中提到的delete\u tree的定义 它既不应该用注释过的代码编译,也不应该用注释过的代码编译。您的代码不包含析构函数中提到的delete\u tree的定义 它既不应该用注释过的代码编译,也不应该用注释过的代码编译。您的代码不包含析构函数中提到的
真的不知道什么地方可能出错,因此共享了整个代码。您的代码不包含析构函数中提到的
delete\u tree
的定义
它既不应该用注释过的代码编译,也不应该用注释过的代码编译。您的代码不包含析构函数中提到的
delete\u tree
的定义
它既不应该用注释过的代码编译,也不应该用注释过的代码编译。您的代码不包含析构函数中提到的
delete\u tree
的定义
它既不应该用注释过的代码编译,也不应该用注释过的代码编译。您的代码不包含析构函数中提到的
delete\u tree
的定义
它既不应该编译带有注释的代码,也不应该编译带有注释的代码。try new node();这样行吗?@yossico-new node();-不起作用。我没有看到为
delete\u tree
定义的任何函数体,尽管类定义说它应该存在……这通常会有帮助,如果您阅读错误消息,然后检查其中提到的任何内容,例如本例中的delete\u tree
。只要检查一下,就会发现在任何地方都找不到它的定义,即使您不理解错误的其余部分;这样行吗?@yossico-new node();-不起作用。我没有看到为delete\u tree
定义的任何函数体,尽管类定义说它应该存在……这通常会有帮助,如果您阅读错误消息,然后检查其中提到的任何内容,例如本例中的delete\u tree
。只要检查一下,就会发现在任何地方都找不到它的定义,即使您不理解错误的其余部分;这样行吗?@yossico-new node();-不起作用。我没有看到为delete\u tree
定义的任何函数体,尽管类定义说它应该存在……这通常会有帮助,如果您阅读错误消息,然后检查其中提到的任何内容,例如本例中的delete\u tree
。只要检查一下,就会发现在任何地方都找不到它的定义,即使您不理解错误的其余部分;这样行吗?@yossico-new node();-不起作用。我没有看到为delete\u tree
定义的任何函数体,尽管类定义说它应该存在……这通常会有帮助,如果您阅读错误消息,然后检查其中提到的任何内容,例如本例中的delete\u tree
。只要检查一下,就会发现你在任何地方都找不到它的定义,即使你不理解其余的错误。。在添加删除树和插入(值,根)函数的定义之后。。它编译得很好。。没有错误,明白了。。在添加删除树和插入(值,根)函数的定义之后。。它编译得很好。。没有错误,明白了。。在添加删除树和插入(值,根)函数的定义之后。。它编译得很好。。没有错误,明白了。。在添加删除树和插入(值,根)函数的定义之后。。它编译得很好。。没有错误。
// 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;
}*/
}