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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2009, 16:51   #1
Ecosasha
Форумчанин
 
Регистрация: 22.05.2009
Сообщений: 248
По умолчанию Процедура в процедура в C++ Builder

Перевожу с Дельфи программу на С++ Builder и там есть в процедуре обработки нажатия кнопки внутренняя процедура, которая используется там, пробовал записывать в C++ просто как внутреннюю процедуру, но выходят сообщения об ошибках.
В основном программирую и знаю хорошо Дельфи, в С++ новичек, но хотелось бы знать можно ли в C++ Builder также в кнопке сделать внутреннюю процедуру?
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)

{
const Bel=42; 

int Kar [Bel][Bel];//massiv

//внутренняя процедура
void step(int k, int b, int hint)
{
//тело внутренней процедуры
}


}
Пробовал примерно так, но выходит ошибка. Искал в книгах не удалось найти такой конструкции в C++. Буду очень благодарен, если объясните в чем ошибка или где можно посмотреть такую конструкцию.
В Дельфи эта конструкция выгдядит так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
const
   Bel=42;
var
   Kar:array[1..Bel,1..Bel]of integer;

procedure step(s,f,p:integer);
begin
//тело процедуры
end;

begin

end;
Ecosasha вне форума Ответить с цитированием
Старый 06.06.2009, 17:12   #2
vasek123
Заблокирован
 
Регистрация: 21.11.2008
Сообщений: 4,986
Сообщение

Попробуйте примерно следующее:

Код:
void step(int k, int b, int hint);
void __fastcall TForm1::Button1Click(TObject *Sender)

{
const Bel=42; 

int Kar [Bel][Bel];//massiv

it x= step(int k, int b, int hint);
}
void step(int k, int b, int hint)
{
//тело внутренней процедуры
}

p.s. Думаю, вам не помешало бы в начале освоить основы языка С++...

Последний раз редактировалось vasek123; 06.06.2009 в 17:19.
vasek123 вне форума Ответить с цитированием
Старый 06.06.2009, 17:17   #3
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

В С++ нет локальных функций, есть только локальные классы.
http://www.rsdn.ru/forum/cpp/419810.flat.aspx
Поэтому делай функцию глобальной, возможно с добавление передаваемых ей параметров.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Daramant вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедура honest Помощь студентам 0 08.05.2009 16:26
Процедура () GAGARIN-NEW Помощь студентам 3 17.12.2007 21:42
процедура Sergik1977 Паскаль, Turbo Pascal, PascalABC.NET 7 28.10.2007 16:36