Basically I have a base class that has its members in a protected block and when I try to access those items in the base class I get the error

error: `child' undeclared (first use this function)Code:`template <typename T> class Node { protected: T** child; //dynamically allocated T array. T data; size_t size; public: Node(size_t capacity) : size(capacity) { child = new T*[capacity]; for (size_t i = 0; i < capacity; ++i) child[i] = NULL; } Node(size_t capacity, T x) : data(x), size(capacity) { child = new T*[capacity]; for (size_t i = 0; i < capacity; ++i) child[i] = NULL; } virtual ~Node() { for(size_t i = 0; i < size; ++i) delete child[i]; } }; template <typename T> class BinaryTreeNode : public Node<T> { public: BinaryTreeNode() : Node<T>(2) { } BinaryTreeNode(T x) : Node<T>(2, x) { } ~BinaryTreeNode() { delete child[0]; delete child[1]; } };`