Я пытаюсь создать класс, который должен определять поведение алгоритма поиска графа.C++ Создание контейнерного класса
Класс получает общий контейнер в качестве аргумента шаблона и действует на основе контейнера
template <typename N, typename E, class Container>
class Frontier {
private:
Container frontier;
public:
bool isEmpty() { return this.frontier.empty(); }
typename Graph<N, E>::const_iterator pop() { return this.frontier.pop(); }
bool push(typename Graph<N, E>::const_iterator it) { return this.frontier.push(it); }
};
, но когда я пытаюсь скомпилировать я получаю
request for member ‘frontier’ in ‘this’, which is of non-class type
Я знаю, что это может быть сделано, потому что СТЛ контейнеры реализуются как таковые
template<class T, Class C = deque<T> > class std::stack;
Я заметил столицу C в классе, поэтому я три ed, используя класс в реализации, но я получил «класс не был определен» из компилятора. Как я могу это решить?
Не могу я считаю, что пропустил. Я должен обновить этот отвратительный компилятор, чтобы он отображал сообщения об ошибках правильно (это на самом деле все сообщение об ошибке, и моя версия gcc действительно старая.) –