基于我的问题:C++ 无法建立对“父”对象的句柄引用——循环包含或未定义的类型错误我想创建一个具有两个泛型类型成员的类(称为节点),一个指向类型的泛型指针待确定的父对象和指向一组待确定子对象的元素的通用指针向量。存在于双向树结构中的对象将从 Node 继承,并在数据可用时在必要时填充其父成员和子成员。这是到目前为止我对 Node.h 所做的:
#include <vector>
#ifndef NODE_H_
#define NODE_H_
template<typename T> class parent{};
template<typename T2> class child{};
class Node{
private:
parent<T>* parent_ptr;
vector<child<T2>>* children_ptr;
public:
//some accessor methods will go here to get and set the parent and children
};
#endif /*NODE_H_*/
显然这不是在 C++ 中使用模板的正确方法,因为我收到错误 C2065“'T' is an undeclared identifier”和 C4430“缺少类型说明符 - 假定为 int”错误。我在这里找到了一些关于创建模板类和函数的有用文档:http ://www.cprogramming.com/tutorial/templates.html但该教程和我能找到的任何其他文档似乎都没有涵盖使用模板来声明泛型类非模板类中的成员;我相当确定这(或类似的东西)是我需要为我的用例做的,那么在标准 C++ 类中声明和使用泛型成员变量的正确方法是什么?