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

C++ problems on Types ( Type Names )

本文关键字:类型 问题 C++      更新时间:2023-10-16

示例代码:

文件: 链接堆栈.h

#include "NodeType.h"
#ifndef LINKEDSTACK_H
#define LINKEDSTACK_H
template <class ItemType>
class LinkedStack {
public:
    NodeType topPtr;
};

文件: 节点类型.h

#ifndef NODETYPE_H
#define NODETYPE_H
template <class ItemType>
class NodeType {
public:
    ItemType info;
    NodeType *nextElement;
};
#endif  /* NODETYPE_H */

文件:主.cpp

#include "NodeType.h"
#include "LinkedStack.h"
using namespace std;
int main(int argc, char** argv) {
    return 0;
}

当我运行这个时,我不断得到:

LinkedStack.h:20:错误:"NodeType"未命名类型

但是,节点类型已经定义并包含在内?

NodeType是一个template。更改为:

NodeType<ItemType> topPtr;