У меня есть две ошибки, которые возникают в одной строке кода.
Ниже приведены фрагменты, там только соответствующий код.
Первый - это класс базы данных
#include "program.h"
using namespace std;
class Database {
public:
Database(Program *program);
~Database();
};
Далее идет класс запросов.
#include "database.h"
using namespace std;
class Query {
public:
Relation* evaluate(Database* database);
};
Строка, о которой идет речь:
Relation* evaluate(Database* database);
- Первая ошибка -
"Database does not name a type"
, несмотря на включение файла database.h.
- Вторая ошибка
"expected ';' after member declaration"
, которая, как мне кажется, связана с первой.
Все в этом проекте работало до добавления этого класса базы данных.
Я поставлен в тупик и изучал весь стекопоток, но безрезультатно.
Я нахожусь на Debian Stretch и компилирую с g ++. У кого-нибудь есть идеи?
EDIT
Минимальный компилируемый код:
query.h
#include "database.h"
class Query {
public:
void evaluate(Database* database);
};
program.h
#include "query.h"
#include "database.h"
using namespace std;
class Program {
public:
};
database.h
#include "program.h"
class Database {
public:
Database(Program *program);
};