Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
krazyd
16 / 0 / 0
Регистрация: 10.11.2012
Сообщений: 102
#1

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

30.06.2016, 13:20. Просмотров 123. Ответов 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 аргументов

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

Заранее спасибо Вам!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2016, 13:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Исполнение функции-члена в отдельном потоке (C++):

Запуск функции в отдельном потоке unix - C++
Доброго времени суток! Скажите пожалуйста, как можно в Unix запустить функцию в отдельном потоке? Нечто сродни сишарповскому ......

Вызов рекурсивной функции в отдельном потоке - C++
Добрый день. Пытаюсь реализовать рекурсивный поиск файлов по заданной маске по каталогам в отдельном потоке. При рекурсивном вызове...

Класс в отдельном потоке - C++
Привет. Мне нужно, чтобы класс выполнялся в отдельном потоке. #include <iostream> #include <thread> #include <windows.h> ...

Выполнение операций в отдельном потоке - C++
Например у меня есть функция. void musik() //Создание потоковой функции { Beep(2000,3000); } Как сделать поток,...

Запуск цикла в отдельном потоке - C++
Встала проблема отследить данные и сравнить их с тестовыми в реальном времени Как запустить это в отдельном потоке или как, вообщем что...

OpenGL прорисовка в отдельном потоке - C++
Здравствуйте! Интересует,есть ли возможность выделить работу с ОпенГЛ в отдельный поток.Грубо говоря void* go(void * gg) { ...

1
avgoor
915 / 550 / 119
Регистрация: 05.12.2015
Сообщений: 1,531
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();
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2016, 15:24
Привет! Вот еще темы с ответами:

Генератор случайных чисел в отдельном потоке - C++
Добрый вечер) Надо написать генератор случайных чисел именно в отдельном потоке. Подскажите пожалуйста, как это сделать. Заранее...

Найти время заполнения массива (секундомер в отдельном потоке) - C++
Задача звучит так: "Дан массив размером более 5000 элементов. Первый поток заполняет его случайными числами, второй поток - секундомер....

Пузырьковая сортировка 2 массивов. Каждый массив в отдельном потоке - C++
Здравствуйте! Пузырьковая сортировку 2 массивов параллельно, то есть каждый массив в отдельном потоке сортируется! 2 потока, 2...

Как посчитать 3 арифметических примера каждый в отдельном потоке? - C++
Нужно это сделать используя OpenМР. Есть три арифметических примера (условно) 1,2,3 Пробовал так но все примеры в одном потоке три...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru