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


Автор: Uch3nik 25.1.2007, 22:32
Подскажите пожалуйста, почему компилятор пропускает функцию MonthCurrent(void) ??? Вроде объявил правильно... не пойму в чём дело!!!

File.cpp
Код

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

void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{
     void MonthCurrent(void);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MonthCurrent(void)
{
     CCalendar1->Month++;
     if(CCalendar1->Month==1)
     {StaticText1->Caption = "Jan";}
     else if(CCalendar1->Month==2)
     {StaticText1->Caption = "Feb";}
     else if(CCalendar1->Month==3)
     {StaticText1->Caption = "Mar";}
     else if(CCalendar1->Month==4)
     {StaticText1->Caption = "Apr";}
     else if(CCalendar1->Month==5)
     {StaticText1->Caption = "...";}
     else if(CCalendar1->Month==6)
     {StaticText1->Caption = "...";}
     else if(CCalendar1->Month==7) {
     StaticText1->Caption = "...";}
     else if(CCalendar1->Month==8)
     {StaticText1->Caption = "...";}
     else if(CCalendar1->Month==9)
     {StaticText1->Caption = "...";}
     else if(CCalendar1->Month==10)
     {StaticText1->Caption = "...";}
     else if(CCalendar1->Month==11)
     {StaticText1->Caption = "...";}
     else if(CCalendar1->Month==12)
     {StaticText1->Caption = "...";}
}
void __fastcall TForm1::UpDown1ChangingEx(TObject *Sender,
      bool &AllowChange, short NewValue, TUpDownDirection Direction)
{
       CCalendar1->Year = UpDown1->Position;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
       CCalendar1->Year = UpDown1->Position;
}
//---------------------------------------------------------------------------




File.h 

Код

...
public:        // User declarations
        __fastcall TForm1(TComponent* Owner);
        void __fastcall MonthCurrent(void);
...
};


Автор: Sartorius 25.1.2007, 22:35
Цитата

компилятор пропускает функцию


 что делает? поясни... 

Автор: Uch3nik 25.1.2007, 22:41
при чтении пропускает этот блок:

Код

void __fastcall TForm1::MonthCurrent(void)
{
     CCalendar1->Month++;
     if(CCalendar1->Month==1)
     {StaticText1->Caption = "Jan";}
     ....
     else if(CCalendar1->Month==12)
     {StaticText1->Caption = "...";}
}


и форма не реагирует на вызов MonthCurrent(void)... 

Автор: BreakPointMAN 26.1.2007, 00:40
Цитата(Uch3nik @  25.1.2007,  23:32 Найти цитируемый пост)
Код

void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{
     void MonthCurrent(void); // это - объявление прототипа функции, а не ее вызов!
                                             // а вызов выглядит примерно так:
                                             // MonthCurrent();
}


Автор: Uch3nik 26.1.2007, 01:44
Цитата

а вызов выглядит примерно так:  MonthCurrent();


При таком вызове функции, компилятор говорит об ошибке объявления/вызова функции!

Добавлено @ 01:53 
Понял! smile Работает! Спасибо,  BreakPointMAN!

Автор: BreakPointMAN 26.1.2007, 01:54
<deleted>

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