Форум программистов, компьютерный форум CyberForum.ru

Передача функции-члена в качестве аргумента (не через указатель) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Codeblocks. Can't find compiler executable in your configured search path's for GNU GCC COMPILER http://www.cyberforum.ru/cpp/thread815951.html
"Can't find compiler executable in your configured search path's for GNU GCC COMPILER" вот такое вот сообщение при запуске Code Blocks. Ничего не компилируется, следовательно. Что делать, надеюсь на вашу помощь, форумчане.
C++ Не могу создать исполняемый файл Здравствуйте. Прошу прощения за столь нубский вопрос. Но как создать исполняемый файл в компиляторе Open Watcom? В бэйсике и паскале всё просто, там есть Compile. А здесь я не нашёл ничего похожего ни на compile, ни на build. http://www.cyberforum.ru/cpp/thread815561.html
C++ Можно ли на c++ создать программу подобную camstudio (захват видео с экрана)?
Каким образом записывает видео с экрана?Можно ли на c++ сделать что то такое? И что нужно знать чтобы сделать что то подобное помогите
C++ Как думаете?
Я тут наткнулся на ресурс и ... В общем интересно стало фейк или хаккинг? Кто как думает? И ещё, если есть объяснения или как это сделать, можно поделиться со мной?? Вот ссылка: "клик" - это переход на сторонний ресурс...
C++ Проблемы со списком http://www.cyberforum.ru/cpp/thread810385.html
Никак не получается разобраться со списками. В программе вроде создаю простейший список из 2х элементов. Далее в цикле вывожу это все. Почему у меня выводится сначала 2 потом 1? И вообще правильно ли я составил список? #include <stdio.h> #include <stdlib.h> struct list { long long numb; struct list *next; } ;
C++ Ошибка R6034 C++ При запуске приложения получаю вот это: Как её исправить? Молю о помощи, полгугла перерыл, прежде чем писать сюда... подробнее

Показать сообщение отдельно
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4248 / 2780 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
23.03.2013, 21:38     Передача функции-члена в качестве аргумента (не через указатель)
Привет!
Озадачился такой проблемой - вот пример того, что нужно
C++
1
2
3
4
typedef void(class1::*method)();
void func (method) {};
 
func (&class1::func); // вызов
Но хочется сделать кошерно, и, чтоб было совсем кошерно, решил заюзать С++11, которого я почти не знаю
Вот что получилось
C++
1
2
3
4
typedef std::function<void(param&)> method;
void func (method){};
 
func(std::bind(&class1::methodName, object_ptr, std::placeholders::_1)); // вызов
согласитесь - выглядет ужасно. Хочеться std::bind() спрятать внуть функции, т.е. вот так
C++
1
2
3
4
5
6
7
8
typedef void(class1::*method)();
 
void func (method)
{
    // blah blah blah std::bind (method, ...)
}
 
func(&class1::methodName); // вызов
но не могу придумать как обойтись без указателя void(class1::*method)().
Знаю, что есть люди, которы ориентируются в С++11, может есть идеи?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru