我想請我的代碼反饋。這是學校的任務,我們被要求編寫一個交換左側和右側二叉樹的函數。我們的教授給我們的班是swapBinaryTrees,其餘的留給我們。我收到了很多編譯器錯誤,我不確定我的語法錯在哪裏。我收到錯誤,當我編譯它像14行預期的init聲明符「<」令牌基準線是流血的Dev-C++編譯器錯誤*二叉樹
void binaryTreeSearch<elemType>::swapSubtreeNodes()
我有這
void binaryTreeSearch<elemType>::swapSubtreeNodes(nodeType<elemType> *p)
兩個線19相同的錯誤上面我有另一個錯誤,說期待';'前「<」令牌 然後我得到了我的主要功能未聲明的標識符爲
binaryTreeSearch<int> tree;
我也是如預期般「Int」和之前的預期主要表達「;」之前「int」 然後它告訴我cout和cin沒有聲明我不知道haybales在這裏發生了什麼。我將在下面發佈我的整個代碼,非常感謝任何幫助。
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;
}
開發-C++的最新版本發佈於2005年,是非常古老和過時的,請考慮升級到一個現代化的一個像GCC或Visual C++。 –
@SethCarnegie:這裏有一個分支:http://orwelldevcpp.blogspot.fr/它看起來很好。 –
@AlexandreC。感謝您的信息,我不知道任何叉子。我會向未來的人推薦。 –