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

Исполнение функции-члена в отдельном потоке - C++

Восстановить пароль Регистрация
 
krazyd
16 / 0 / 0
Регистрация: 10.11.2012
Сообщений: 93
30.06.2016, 13:20     Исполнение функции-члена в отдельном потоке #1
Здравствуйте, форум!

Вот такой вот пример:
Имеется класс, в котором есть 3 перегрузки одной функции.
C++
1
2
3
4
5
6
7
8
9
10
class A
{
public:
 
void func1();
 
void func1(int a);
 
void func1(int a, int b);
};
В основной программе я пытаюсь запустить func1 в отдельном потоке:

C++
1
2
3
4
5
6
void (A::*ptr_func1)(int,int);
 
ptr_func1 = &A::func1;
 
std::thread t1(ptr_func1,1,2);
t1.join();
В итоге получаю следующее сообщение об ошибке:
error C2064: результатом вычисления фрагмента не является функция, принимающая 2 аргументов

Не могли бы вы подсказать, что я делаю не так?

Заранее спасибо Вам!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2016, 13:20     Исполнение функции-члена в отдельном потоке
Посмотрите здесь:

C++ [C++] Пузырьковая сортировка 2 массивов. Каждый массив в отдельном потоке.
OpenGL прорисовка в отдельном потоке C++
Генератор случайных чисел в отдельном потоке C++
Реализовать систему плагинов (модулей), каждый из которых должен работать в отдельном потоке C++
C++ Класс в отдельном потоке
Нарисовать график функции в отдельном окне C++
C++ Запуск цикла в отдельном потоке
Запуск функции в отдельном потоке unix C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
avgoor
562 / 352 / 83
Регистрация: 05.12.2015
Сообщений: 1,137
30.06.2016, 15:24     Исполнение функции-члена в отдельном потоке #2
krazyd, Либо делайте функции-члены статическими, либо передавайте указатель на объект:
C++
1
2
3
4
5
6
7
void (A::*ptr_func1)(int,int);
 
ptr_func1 = &A::func1;
 
A a;
std::thread t1(ptr_func1, &a,1,2);
t1.join();
Yandex
Объявления
30.06.2016, 15:24     Исполнение функции-члена в отдельном потоке
Ответ Создать тему
Опции темы

Текущее время: 17:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru