我一直在解决这个了一会儿,环顾四周,但我不知道我在做什么错'。'之前的预期主表达式令牌
错误:
错误:“”之前预期基本表达式令牌
被弹出了大部分的addElement方法 其中BinaryNode.variable而言内部的代码,但我完全失去了在这里做什么
#include <cstdlib>
#include "BinarySearchTree.h"
using namespace std;
template <typename Comparable>
BinarySearchTree<Comparable>::BinarySearchTree(const Comparable & theElement, BinarySearchTree<Comparable> *leftTree,
BinarySearchTree<Comparable> *rightTree) : BinaryNode(theElement,leftTree,rightTree) {
}
template <typename Comparable>
void BinarySearchTree<Comparable>::addElement(Comparable newElement) {
if(newElement < BinaryNode.element) {
if(BinaryNode.left == NULL) {
BinaryNode.left = BinarySearchTree(newElement, NULL, NULL);
BinaryNode.right.root = BinaryNode;
} else {
BinaryNode.left.addElement(newElement);
}
} else if (newElement > BinaryNode.element) {
if(BinaryNode.right == NULL) {
BinaryNode.right = BinarySearchTree(newElement, NULL, NULL);
BinaryNode.right.root = this;
} else {
BinaryNode.right.addElement(newElement);
}
}
而这里的heade对于BinarySearchTree
#include <vector>
using namespace std;
template<typename Comparable>
class BinarySearchTree {
public:
BinarySearchTree(const Comparable & theElement, BinarySearchTree<Comparable> * leftTree,
BinarySearchTree<Comparable> * rightTree);
void addElement(Comparable newElement);
void removeElement(Comparable newElement);
BinarySearchTree<Comparable> * findElement(Comparable newElement);
bool isEmpty();
BinarySearchTree & operator=(const BinarySearchTree &tree);
vector<BinarySearchTree> preOrder(vector<BinarySearchTree> * list);
vector<BinarySearchTree> inOrder();
vector<BinarySearchTree> postOrder();
private:
struct BinaryNode {
Comparable element;
BinarySearchTree<Comparable> *left;
BinarySearchTree<Comparable> *right;
BinaryNode(const Comparable & theElement, BinarySearchTree<Comparable> *leftTree,
BinarySearchTree<Comparable> *rightTree) : element(theElement), left(leftTree), right(rightTree){}
};
BinaryNode *root;
};
请指出错误发生在哪一行。 – Brian
这是代码为 – user3317055