Я поставил себе C++Builder 5. Пытаюсь запустить прогу, написанную тоже на 5 Билдере. Однако он выдаёт мне сообщения, что не может найти .bpi файлы. Подскажите что делать. мне прогу завтра сдавать.
Добрый день, Lexus! Какие файлы? Возможно билдер глюкавый. Ответ отправлен: 27.12.2002, 02:23 Отправитель: Jadd
Вопрос № 466
естъ такая проблема у меня естъ функция, которая принимает параметр указателъ на функцию, типа typedef void (*fn)(int& a); void func(fn f) { int a = 10; f(a); cout << a << endl; } а теперъ внимание, вопрос как могу передатъ этой функции указателъ на функцию-член какого-то класса ? К примеру class A { void inc(int& a){ a++; }; } Вариант A a; func(a.inc) не работает
Добрый день, Gevorg! Da vrode nelza poslat address functsii - chlena. Dobav public: nad inc Ответ отправлен: 29.12.2002, 17:23 Отправитель: barsik_ Отвечает Avl2k
Добрый день, Gevorg! Естественно, не работает, потому-что указатель на нестатическую член-функцию сильно отличается от указателя на глобальную функцию с такими же параметрами (хотя бы тем, что ей неявно передается указатель на объект). Поэтому есть два варианта: 1. объявить член-функцию статической, тогда все в порядке и func(A::inc) работает; 2. сделать так typedef void(A::*fn)(int& a); void func(A* o, fn f) { int a = 10; (o->*f)( a ); cout << a << endl; } ... A a; func(&a, A::inc); ... С уважением, Avl2k. Ответ отправлен: 27.12.2002, 18:23 Отправитель: Avl2k Отвечает Dzik
Доброе время суток, Gevorg! У функции- члена класса есть еще один первый, невидимый параметр -this, указатель на обьект.
Ответ отправлен: 27.12.2002, 16:46 Отправитель: Dzik Отвечает vitya
Доброе время суток, Gevorg! ты можешь передать, как параметр только статическую функцию. class A { public: static void f(); }; ... func(&A::f); Ответ отправлен: 27.12.2002, 16:52 Отправитель: vitya Отвечает Yuri Gordienko
Приветствую Вас, Gevorg! Никак. Можно объявить тип указатель на функцию-член, но конкретно для твоего случая это не проходит
Ответ отправлен: 28.12.2002, 10:22 Отправитель: Yuri Gordienko
Форма отправки вопроса
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.