Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2008, 22:16   #1
Joker88
Новичок
Джуниор
 
Регистрация: 03.03.2008
Сообщений: 1
По умолчанию помогите найти ошибку в коде

//-----------------------------------------------------------------------------------
//
// Array<TYPE> class
//
// Anton M. Krivtsov
//
// 13.06.2001
//
//-----------------------------------------------------------------------------------

#ifndef ___Array_H___
#define ___Array_H___

template<class TYPE> class Array
{
public:
Array() { data = NULL; count = 0; }
~Array() { RemoveAll(); }

int GetCount() const { return count; }
void Create(int n);
void RemoveAll();

// Direct Access to the element data (may return NULL)
const TYPE* GetData() const { return (const TYPE*)data; }
TYPE* GetData() { return (TYPE*)data; }

TYPE operator[](int i) const { return data[i]; }
TYPE& operator[](int i) { return data[i]; }

protected:

TYPE* data; // the actual array of data
int count; // number of elements (upper bound - 1)
};

//---------------------------------------------------------------------------

template<class TYPE> void Array<TYPE>::RemoveAll()
{

if (data != NULL) delete [] data;
data = NULL;
count = 0;
}

template<class TYPE> void Array<TYPE>::Create(int n)
{
RemoveAll();
if (n == 0) return;
data = new TYPE[n];
count = n;
}

//---------------------------------------------------------------------------
//---------------------------------------------------------------------------

template<class TYPE> class Array2D : public Array< Array<TYPE> >
{
public:
Array2D() : Array< Array<TYPE> > () {};
Array2D(int n1, int n2) { Create(n1, n2); }
///////////////////////////////////////////////
int GetCount() const { return ((Array< Array<TYPE> > *)this)->GetCount() * data->GetCount(); }
void Create(int n1, int n2);

protected:
};


//---------------------------------------------------------------------------

template<class TYPE> void Array2D<TYPE>::Create(int n1, int n2)
{
((Array< Array<TYPE> > *)this)->Create(n1);
for (LONG i = 0; i < n1; i++) (*this)[i].Create(n2);
}

//---------------------------------------------------------------------------
//---------------------------------------------------------------------------

template<class TYPE> class Array3D : public Array< Array2D<TYPE> >
{
public:
Array3D() : Array< Array2D<TYPE> > () {};
Array3D(int n1, int n2, int n3) { Create(n1, n2, n3); }
///////////////////////////////////
int GetCount() const { return ((Array< Array2D<TYPE> > *)this)->GetCount() * data->GetCount(); }
void Create(int n1, int n2, int n3);

protected:
};


//---------------------------------------------------------------------------

template<class TYPE> void Array3D<TYPE>::Create(int n1, int n2, int n3)
{
((Array< Array2D<TYPE> > *)this)->Create(n1);
for (LONG i = 0; i < n1; i++) (*this)[i].Create(n2, n3);
}

//---------------------------------------------------------------------------

#endif //___Array_H___

//---------------------------------------------------------------------------




ошибки в строчках после //////////////
error: 'data' was not declared in this scope

Последний раз редактировалось Joker88; 03.03.2008 в 22:20.
Joker88 вне форума Ответить с цитированием
Старый 04.03.2008, 12:43   #2
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

У меня всё компилится. Ты на чём делал?
Carbon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку ( с++ ) JOFRIF Помощь студентам 10 23.05.2008 14:34
Памагите найти ошибку в коде...С++ Goblin Помощь студентам 1 13.05.2008 18:15
Помогите исправить ошибку в коде... prizrak1390 Общие вопросы Delphi 4 26.04.2008 13:19
Помогите найти ошибку NeiL Общие вопросы Delphi 7 04.03.2008 07:14