指定名称的错误未在此范围内声明

时间:2015-04-07 12:32:37

标签: c++ inheritance header linked-list template-classes

我已经声明指针 第一个 last&计数器 在模板基类的标题中生成,但当标题包含在派生类的定义中时,会出现错误,指出 first,last&计数器 未在此范围内声明。但是我用于声明first,last和counter的标头已经包含在派生类的头文件和实现文件中。

//template base class
template <class Type>
class linkedListType
{
    .
    .
    .
    protected:
    int counter; //to store no. of elements in the list
    nodeType<Type> *first; //pointer to first node
    nodeType<Type> *last; //pointer to last node
}

//derived class header
#include "linkedListType.h"
using namespace std;

template <class Type>
class unorderedList:public linkedListType<Type>
{
 public:
    bool searchFor(const Type& searchItem) const;
    void insertFirst(const Type& newItem);
    void insertLast (const Type& newItem);
    void deleteNode(const Type& deleteItem);
};

//derived class definition 
template <class Type>
bool unorderedList<Type>::searchFor(const Type& searchItem) const
{
    nodeType<Type> *current; //pointer to traverse the list
    bool found = false;

    current = first; //set current to point to first node
    .
    .
    .
}

0 个答案:

没有答案