|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.03.2008, 22:16 | #1 |
Новичок
Джуниор
Регистрация: 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. |
04.03.2008, 12:43 | #2 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
У меня всё компилится. Ты на чём делал?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите найти ошибку ( с++ ) | 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 |