Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
НуВащеНовичек
1

Функция-член класса в отдельном потоке

07.09.2008, 14:51. Показов 4461. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
люди я столкнулся со странной проблемой. Мне нужно запустить функцию член класса в отдельном потоке.

вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h> 
#include <windows.h>
#include <strsafe.h>
 
class myclass
{
public:
    myclass();
   &nbsp;DWORD WINAPI ThreadProc( LPVOID lpParam ) 
    {
        Sleep(1000);
        printf("%s \n",lpParam);
        return 0;
    }
};
 
myclass::myclass()
{
   &nbsp;DWORD dwThreadId;
    HANDLE hThread;
    hThread = CreateThread(NULL, 0, ThreadProc, "qwe1", 0, &dwThreadId);
}
 
int main()
{
    myclass asd;
    while(1);
}
а вот ошибка:
'myclass::ThreadProc': function call missing argument list; use '&myclass::ThreadProc' to create a pointer to member d:\projects\test2\test2\main.cpp 21

ладно меняю ThreadProc в CreateThread на &myclass::ThreadProc
а вот новая ошибка:
cannot convert parameter 3 from 'DWORD (__stdcall myclass::* )(LPVOID)' to 'LPTHREAD_START_ROUTINE' d:\projects\test2\test2\main.cpp 21

я чтото не понял что он от меня хочет. Подскажите пожалуйста.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.09.2008, 14:51
Ответы с готовыми решениями:

Как запустить метод класса в отдельном потоке?
Как запустить метод класса в отдельном потоке?

Работа класса в отдельном потоке
У меня есть класс, где есть 2 метода пост и гет запроса. С этими методами работают несколько...

Создание класса в отдельном потоке
Добрый вечер. Как можно сделать чтобы при создании объекта класса он сразу создавался в отдельном...

Выполнение класса в отдельном потоке
Добрый день) продолжаю ковырять своего бота для телеграмма :) Есть такой класс Weather. Он...

2
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
07.09.2008, 16:02 2
Посмотри здесь:
https://www.cyberforum.ru/cpp-linux/thread10811/post46727.html?highlight=callback#post46727
0
Эксперт С++
2255 / 770 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
07.09.2008, 16:14 3
Функции-члены класса - особый вид функций,на самом деле,они неявно принимают как параметр указатель this на объект класса. Как следствие, прототип ее ни в коем случае не сооветствует нужному прототипу TreadFunc. Измени логику программы : вынеси TreadFunc из класса,а как параметр передай ей указатель на класс; В классе же будешь держать все остальное,что нужно для работы ф-ии. Ну,или можно,как в том топике - сделать глобальный указатель на класс.
0
07.09.2008, 16:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.09.2008, 16:14
Помогаю со студенческими работами здесь

Запуск метода класса в отдельном потоке
Нужно запустить метод класса в отдельном потоке. Не могу понять, как реализовывать. Искал в инете...

Выполнить метод класса в отдельном потоке
Есть некий класс, методы которого принимают на вход некие параметры. Экземпляр класса - глобальная...

Потоки, эвенты, делегаты. Преобразовать код так, чтобы функция вызывалась в отдельном потоке
доброго времени суток. изначально была функция, которая выглядит примерно вот так: public...

Перегрузка операций: friend-функция или функция-член класса
Здравствуйте, меня интересует вопрос, в чем разница при перегрузке операторов через operator и...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru