Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > синтаксис


Автор: np9mi7 11.3.2005, 17:02
Добрый день.
Есть код:
Код

class AAA
{
    public:
        BBB theVar(10);
};
class BBB
{
    public:
        BBB(int);
        ~BBB();
    private:
        char * theValue;
};
BBB::BBB(int theLen)
{
    theValue = new char [theLen];
}
~BBB::BBB()
{
    delete theValue;
}


Копилятор BCB 6.0 выдает ошибку:
Цитата

[C++ Error] file.h(38): E2293 ) expected


ошибка на объявление в AAA;

Что делать?

Автор: chipset 11.3.2005, 17:13
Покажи file.h, строку #38.

Автор: np9mi7 11.3.2005, 17:17
эта строка:
Код

BBB theVar(10);

Автор: chipset 11.3.2005, 17:26
Разве можно инициализировать конструктор другого класса при обьявлении его переменной-членом?
Может ты хотел массив создать?
Добавлено @ 17:29
Кроме того, мне кажется что AAA не увидит BBB, поскольку AAA был обьявлен ДО BBB.
Добавлено @ 17:31
И вот это:
Код

~BBB::BBB()

заменить надо на:
Код

BBB::~BBB()

Автор: np9mi7 11.3.2005, 17:42
они видят друг друга....

Какой массив? Нет. Хочу описать свой тип, а в классе AAA объявить его с помощью конструктора с параметрами, но чето он не хочет...

Тут вопрос где вызывать конструктор с параметрами smile

Автор: De Gray 11.3.2005, 18:11
Код

class B
{
        public:
        ~B(){;};
        B();
        B(int c){a=c;};
        private:
        int a;

} ;
class A
{
        public:
        B Var;
        A(int c){Var = B(c);}
        ~A(){;};

};

У меня скомпилилось только такое уродство.

Автор: np9mi7 11.3.2005, 18:12
instance... низя.... только в конструкторе... а жаль... придеться указатель делать...

Автор: Fantasist 11.3.2005, 21:09
Цитата(arajan @ 11.3.2005, 15:12)
instance... низя.... только в конструкторе... а жаль... придеться указатель делать...


Такие вещи делаются в списке инизиализации конструктора:

Код

class AAA
{
    public:
        BBB theVar;
        AAA(): theVar(10) {};
};

Автор: np9mi7 14.3.2005, 08:05
всем спасибо!!! smile , Fantasist special...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)