无法使用包含的头文件中的类

时间:2014-02-06 13:53:23

标签: c++

在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 {

我做错了什么?

[编辑:] 源代码: https://dl.dropboxusercontent.com/u/27412797/so_q_1/map.h https://dl.dropboxusercontent.com/u/27412797/so_q_1/pair.h

1 个答案:

答案 0 :(得分:5)

现在我们已经看到了Pair的定义:

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

我们看到它是一个模板;所以你需要提供模板参数来从中实例化一个类:

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