Невозможно использовать класс из включенного заголовочного файла

0

В Pair.h у меня есть класс Pair. В Map.h я пытаюсь сделать следующее:

#include "pair.h"
template<class K, class V>
class Map {
public:
    //some stuff
private:

    class Node : public Pair {
        //some stuff
    };

};

И я получаю следующую ошибку:

./map.h:50:22: error: expected class name
        class Node : public Pair {

Что я делаю неправильно?

[EDIT:] Исходный код: https://dl.dropboxusercontent.com/u/27412797/so_q_1/map.h https://dl.dropboxusercontent.com/u/27412797/so_q_1/pair.h

  • 0
    Я не вижу #include "Pair.h"
  • 0
    Вы проверили, что используете точно такое же имя? (Особенно несоответствие верхнего / нижнего регистра)
Показать ещё 10 комментариев
Теги:

1 ответ

5
Лучший ответ

Теперь, когда мы увидели определение Pair:

template <class S, class T>
class Pair {
    //...
};

мы видим, что это шаблон; поэтому вам нужно предоставить аргументы шаблона для создания экземпляра класса из него:

class Node : public Pair<K,V> {
    //...
};

Ещё вопросы

Сообщество Overcoder
Наверх
Меню