Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

пАРАМАТРЫ сО зНАЧЕНИЕМ пО уМОЛЧАНИЮ

1.3K
16 января 2004 года
zja
119 / / 25.11.2003
пишу:
int __fastcall LoadCFG(TStringGrid *SG, TXLSReadWriteII *XLSRW, AnsiString AnotherPath);
//заголовок
LoadCFG(FirmListSG,FirmListXLSRW);
//вызов
int __fastcall LoadCFG(TStringGrid *SG, TXLSReadWriteII *XLSRW, AnsiString AnotherPath="")
{
ляляля
return 0;
}
//тело
параметр AnotherPath оставляю по умолчанию, получаю:
[C++ Error] Unit2.cpp(28): E2193 Too few parameters in call to '_fastcall LoadCFG(TStringGrid *,TXLSReadWriteII *,AnsiString)'
что я делаю не так?
2.0K
16 января 2004 года
Fazil6
126 / / 17.12.2003
Цитата:
Originally posted by zja
пишу:
int __fastcall LoadCFG(TStringGrid *SG, TXLSReadWriteII *XLSRW, AnsiString AnotherPath);
//заголовок
LoadCFG(FirmListSG,FirmListXLSRW);
//вызов
int __fastcall LoadCFG(TStringGrid *SG, TXLSReadWriteII *XLSRW, AnsiString AnotherPath="")
{
ляляля
return 0;
}
//тело
параметр AnotherPath оставляю по умолчанию, получаю:
[C++ Error] Unit2.cpp(28): E2193 Too few parameters in call to '_fastcall LoadCFG(TStringGrid *,TXLSReadWriteII *,AnsiString)'
что я делаю не так?



Вообще-то параметры по умолчанию надо указывать в заголовке функции, а не в реализации

293
16 января 2004 года
SEDEGOFF
586 / / 06.10.2002
В unit1.h должно быть написано
int __fastcall LoadCFG(TStringGrid *SG, TXLSReadWriteII *XLSRW, AnsiString AnotherPath="");

В unit1.cpp
int __fastcall LoadCFG(TStringGrid *SG, TXLSReadWriteII *XLSRW, AnsiString AnotherPath)
{
ляляля
return 0;
}
1.3K
16 января 2004 года
zja
119 / / 25.11.2003
Цитата:
Originally posted by Fazil6


Вообще-то параметры по умолчанию надо указывать в заголовке функции, а не в реализации


а если ф-ция - часть класса? Хоть бы той же формы.
например:
//Unit.cpp
int __fastcall TBaseForm::LoadCFG(TStringGrid *SG, TXLSReadWriteII *XLSRW, AnsiString AnotherPath)
{
бебебе
}
__fastcall TBaseForm::TBaseForm(TComponent* Owner)
: TForm(Owner)
{
LoadCFG(FirmListSG,FirmListXLSRW);
}
//Unit.h
class TBaseForm : public TForm
{
__published: // IDE-managed Components
int __fastcall LoadCFG(TStringGrid *SG, TXLSReadWriteII *XLSRW,AnsiString AnotherPath="");
private: // User declarations
public: // User declarations
__fastcall TBaseForm(TComponent* Owner);
};
//---
extern PACKAGE TBaseForm *BaseForm;
Вернет в модальном окошке(а не в ошибках):
Error in module Unit: Incorect method in class TBaseForm

з.ы. для SEDEGOFF
я так и сделал сначала((

1.3K
16 января 2004 года
zja
119 / / 25.11.2003
может, где какую галочку в options-ах поставить надо?
293
16 января 2004 года
SEDEGOFF
586 / / 06.10.2002
В __published: запрещено объявлять свои функции. Этот раздел только для среды. Так что перенеси объявление функции
2.0K
16 января 2004 года
Fazil6
126 / / 17.12.2003
Цитата:
Originally posted by zja
может, где какую галочку в options-ах поставить надо?


Так у тебя ведь не в том разделе объявлена функция.
надо в паблик или привате

1.3K
16 января 2004 года
zja
119 / / 25.11.2003
Цитата:
Originally posted by Fazil6

Так у тебя ведь не в том разделе объявлена функция.
надо в паблик или привате


ууу, пасиба, я супер программер))) гыгыгы, все заработало

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог