我很难理解C ++中的模板类实现。我理解模板类是什么以及如何使用它,但我似乎无法正确实现它们。这是为学校所以我不能使用标准库列表/等。我创建了一个模板List类,它使用模板节点类作为链表。我有一个第三类bigInt,它将用于进行无限精度加法,乘法等。对于bigInt类,我在尝试使用类型为List的变量“values”时会出错。为什么是这样?错误:“错误C2079'bigInt :: values'使用未定义的类'List'”
bigInt.h看起来像:
\App\Account::find(1)->account_group; // get Account with ID 1
\App\Account::first()->account_group; // get the first Account record
我添加了前两行因为我在某处读到了我需要使用“前向声明”(因为你显然不能使用#include“List.h”),我也不太懂。
任何帮助都会非常感激。
答案 0 :(得分:0)
在将类List<>
用作成员变量之前,您需要完全定义它。这通常是通过在单独的.h文件中定义模板类并在需要的地方#include
来完成的(不确定为什么你认为你不能这样做)。或者,您可以使用指向List
的指针而不首先定义它:
template <typename T>
class List;
class bigInt {
public:
List<int>* values;
/*...*/
}