Я уже видел сообщение об ошибке, но это то, что отличается. Поэтому, пожалуйста, не закрывайте это. У меня есть класс интерфейса, и у меня есть класс, который наследует класс интерфейса и переопределяет методы в классе интерфейса. Код выглядит так
//interface file
//Interface.h
class A
{
virtual method1();
};
//b.h
#include "Interface.h"
class B : public A
{
//declaration
}
//b.cxx
#include b.h
B::method1()
{
//definition
}
Я экспортирую все эти классы в DLL. И я использую методы и классы в DLL из exe. Этот exe-файл содержит некоторые классы. Эти классы снова наследуют тот же файл интерфейса и также используют method1 () . Поэтому для использования method1 () я включаю b.h в свой файл. Если порядок моих операторов включения - Interface.h и b.h, то я получаю ошибку компилятора для exe. Говорит " базовый класс не определен ". Но если я изменим порядок включения оператора, то ошибки компиляции не будет. Кто-нибудь может мне подсказать, что может быть основной причиной этой проблемы.