类型(类型名称)上的C ++问题

时间:2012-11-29 21:36:26

标签: c++ class templates

示例代码:

file:LinkedStack.h

#include "NodeType.h"

#ifndef LINKEDSTACK_H
#define LINKEDSTACK_H

template <class ItemType>
class LinkedStack {
public:
    NodeType topPtr;
};

file:NodeType.h

#ifndef NODETYPE_H
#define NODETYPE_H

template <class ItemType>
class NodeType {
public:

    ItemType info;
    NodeType *nextElement;

};

#endif  /* NODETYPE_H */

file:main.cpp

#include "NodeType.h"
#include "LinkedStack.h"

using namespace std;

int main(int argc, char** argv) {

    return 0;
}

当我跑步时,我会继续:

LinkedStack.h:20:错误:`NodeType'没有命名类型

但NodeType已经定义并包含在内?

1 个答案:

答案 0 :(得分:4)

NodeTypetemplate。改为:

NodeType<ItemType> topPtr;