Код:
#include <iostream>
using namespace std;
template <class T>
class ArrayList
{
T *array;
public:
ArrayList();
};
template <class T>
ArrayList<T>::ArrayList()
{
array = new T[4];
}
template <class T>
class TreeNode
{
private:
T value;
ArrayList<TreeNode<int> > node;
public:
};
int main()
{
TreeNode<int> treeNode;
return 0;
}
Някой има ли идея защо това се компилира, но след това дава грешка.
Ако го променя на ArrayList<int > node; , не дава грешка.