Мой предыдущий вопрос был задан неправильно, поэтому я отправлю его исправление.
У меня есть этот пример метания
expected class-name before ‘{’ token
ошибка при компиляции. Я понимаю, почему это терпит неудачу, но я не знаю, как это исправить. Спасибо.
BaseClass.hНаследование класса C++ «ожидаемое имя класса»
#ifndef INHERITTEST_BASECLASS_H
#define INHERITTEST_BASECLASS_H
#include "ElementClass.h"
class ElementClass;
class BaseClass
{
private:
ElementClass *m_someField;
};
#endif
ElementClass.h
#ifndef INHERITTEST_ELEMENTCLASS_H
#define INHERITTEST_ELEMENTCLASS_H
#include "ChildClass.h"
class ChildClass;
class ElementClass
{
private:
ChildClass *m_class;
};
#endif
ChildClass.h
#ifndef INHERITTEST_CHILDCLASS_H
#define INHERITTEST_CHILDCLASS_H
#include "BaseClass.h"
class ChildClass : public BaseClass
{
};
#endif
Но что, если я использую эти объекты в этом указателе внутри класса? – Megaxela
Тогда вам нужны файлы .h. Если вы реализуете функции, которым нужен доступ к объектам, на которые указывают эти указатели в файле .cc, тогда нет никаких проблем. –
Ничего себе, спасибо. Все это время я действительно думал, что мне нужно использовать '# include' только в файле' .h'. – Megaxela