【发布时间】:2012-09-15 15:29:14
【问题描述】:
请对我的代码提供反馈。这是一个学校的作业,我们被要求编写一个交换左右二叉树的函数。我们的教授给我们上的课是 swapBinaryTrees,剩下的就交给我们了。我收到很多编译器错误,我不确定我的语法哪里出错了。我在编译时遇到错误,如第 14 行预期的 init-declarator '
void binaryTreeSearch<elemType>::swapSubtreeNodes()
我对第 19 行也有同样的错误
void binaryTreeSearch<elemType>::swapSubtreeNodes(nodeType<elemType> *p)
对于上述两种情况,我还有另一个错误说期待';'在“ 的主函数中得到未声明的标识符
binaryTreeSearch<int> tree;
我也在“int”和预期的';'之前得到预期的主要表达式在“int”之前 然后它告诉我没有声明 cout 和 cin 我不知道干草堆在这里发生了什么。我将在下面发布我的整个代码,非常感谢任何帮助。
template <class elemType>
struct nodeType
{
elemType info;
nodeType<elemType> *lLink;
nodeType<elemType> *rLink;
};
template <class elemType>
class swapSubtreeNodes
{
};
template <class elemType>
void binaryTreeSearch<elemType>::swapSubtreeNodes()
{
swapSubtreeNodes(root);
}
template <class elemType>
void binaryTreeSearch<elemType>::swapSubtreeNodes(nodeType<elemType> *p)
{
root = temp;
nodeType<elemType> *root;
nodeType<elemType> *temp;
if (p == null)
{
return;
}
else
{
swapSubtreeNodes(p->lLink);
swapSubtreeNodes(p->rLink);
temp = p->lLink;
p->lLink = p->rLink;
p->rLink = temp;
}
}
int main()
{
binaryTreeSearch<int> tree;
int num;
cout << "This is how we swap'em" << endl;
cout << "Insert number (press enter after each one entered)." << endl;
cout << "Enter -999 to complete" << endl;
tree.insert(0);
cin >> num;
while (num != -999)
{
tree.insert(num);
cin >> num;
}
cout << "Your swapped binary tree is " << endl;
tree.swapSubtreeNodes();
tree.printTree();
cout << endl;
}
【问题讨论】:
-
Dev-C++ 的最新版本是 2005 年发布的。它非常老旧过时,请考虑升级到现代版本,如 GCC 或 Visual C++。
-
@SethCarnegie:这里有一个分支:orwelldevcpp.blogspot.fr,看起来维护得很好。
-
@AlexandreC。谢谢你的信息,我不知道任何叉子。我会在未来向人们推荐它。
-
@bitmask 作业标签正在被列入黑名单,请不要将其添加到问题中。有关更多信息,请参阅标签。
-
@Tim:标签 wiki 说“但不要在不查看问题是否需要清理的情况下删除它。”然而,这个问题特别指出它是关于家庭作业的。
标签: c++ compiler-errors binary-tree dev-c++