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

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

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2012, 14:29   #1
bumer7721
Пользователь
 
Регистрация: 05.06.2011
Сообщений: 58
Восклицание Multiple declaration for при обявлению класса

Выдает такие ошыбки:

[C++ Error] Adress.h(5): E2238 Multiple declaration for 'Adress'
[C++ Error] Adress.h(4): E2344 Earlier declaration of 'Adress'
[C++ Error] AdressBook.h(4): E2238 Multiple declaration for 'AdressBook'
[C++ Error] AdressBook.h(4): E2344 Earlier declaration of 'AdressBook'

в хедерах

Код:
#include <vcl.h>
#include <Grids.hpp>

class Adress
{
        protected:
                AnsiString cyti;
                AnsiString street;
                AnsiString numerHous;
                unsigned short int numerFlat;

        public:
                Adress();
                Adress(AnsiString Cyti, AnsiString Street, AnsiString NumerHous, unsigned short int NumerFlat);
                Adress(const Adress &adress);

                void setCyti(AnsiString Cyti){cyti=Cyti;};
                void setSteet(AnsiString Street){street=Street;};
                void setNumerHous(AnsiString NumerHous){numerHous=NumerHous;};
                void setNumerFlat(unsigned short int NumerFlat){numerFlat=NumerFlat;};

                AnsiString getCyti(){return cyti;};
                AnsiString getSteet(){ return street;};
                AnsiString getNumerHous(){return numerHous;};
                unsigned short int getNumerFlat(){ return numerFlat;};

                void print(TStringGrid *st);
                ~Adress(){};
};
Код:
#include <vcl.h>
#include "Adress.h"

class AdressBook:public Adress
{
        protected:
                AnsiString name;

        public:
                AdressBook();
                AdressBook(AnsiString Name,
                           AnsiString Cyti,
                           AnsiString Street,
                           AnsiString NumerHous,
                           unsigned short int NumerFlat);
                AdressBook(const AdressBook &aBook);
                AdressBook(const AdressBook *aBook);
                
                void setName(AnsiString Name){name=Name;};

                AnsiString getName(){return name;};

                void print(TStringGrid *st);

};
Ети классы использую здесь:
Код:
#include "ArrayAdressBook.h"

ArrayAdressBook::ArrayAdressBook()
{
 list=new TList();
}

void ArrayAdressBook::Add(AdressBook *aBook)
{
        list->Add(aBook);
}

void ArrayAdressBook::printList(TStringGrid *st)
{
        for (int i=0;i<list->Count;i++)
        {
                AdressBook aBook((AdressBook)list->Items[i]);
                aBook.print(st);
        }
}
bumer7721 вне форума Ответить с цитированием
Старый 09.11.2012, 15:29   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

что в Grids.hpp?
p51x вне форума Ответить с цитированием
Старый 09.11.2012, 15:35   #3
bumer7721
Пользователь
 
Регистрация: 05.06.2011
Сообщений: 58
По умолчанию

я незнаю, етоже системный хедер
bumer7721 вне форума Ответить с цитированием
Старый 09.11.2012, 21:51   #4
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Подозреваю, что у вас гдето инклудится Address.h второй раз.
Если так, смотрите здесь: http://en.wikipedia.org/wiki/Include_guard
waleri вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов деструктора класса при присвоении реализумому методу итерфейса "nil" при освобождении памяти DLL. LISTAT Общие вопросы Delphi 1 08.05.2012 11:05
Функция базового класса вызывает критическую ошибку при вызове для класса-потомка Archet Общие вопросы C/C++ 7 17.01.2012 20:17
Определение типа класса по переменной на объект этого класса при компиляции phomm Общие вопросы Delphi 24 08.04.2011 14:11
Ошибка при присвоении объекту производного класса объекта базового класса с исп. явного приведения типов Lanx Помощь студентам 0 06.04.2011 20:24
[Pascal Error] test_component.pas(43): E2037 Declaration of 'MouseUp' differs from previous declaration Altera Компоненты Delphi 3 10.03.2008 19:44