Я искал другие вопросы об ошибке «ожидаемое имя класса» здесь, но все они «... до» {«токен» или «... до»; ».Ошибка: «ожидаемое имя класса»
Решение должно включать правильный файл, но мой файл содержит файл .h, который включает унаследованный класс.
#include "BinaryNode.h"
#include "bst.h"
template <class T>
class SOBTree: public BinarySearchTree { //Expected Class Name
public:
void insert(const T& x);
void remove(const T& x);
int reportComparisonCount();
double reportCPUTime();
private:
void insert(const T & x, BinaryNode<T> * & t);
void RotateRight(BinaryNode<T> * & root);
void RotateLeft(BinaryNode<T> * & root);
BinaryNode<T> *root;
};
Унаследованный класс определен в bst.h, поэтому у меня нет других файлов для включения в проект.
Извините за простой вопрос, я просто не знаю, почему происходит ошибка.
В каких файлах содержится каждый из этих заголовков? Возможно ли, что у вас есть круговой набор включений? –
Не могу ничего сказать без просмотра bst.h. И, пожалуйста, укажите, какой компилятор вы используете. – Sjoerd
Несвязанный: ваш класс, похоже, нарушает правило три/пять. –