как использовать потоки в C ++, который указывает на другой класс - PullRequest
1 голос
/ 09 октября 2010

мне нужно использовать функцию в другом файле класса как поток

int main()
{
master t;

boost::thread t1(boost::bind(t.start, "exampl"));

t1.join();
}

У меня есть класс master и функция start .. Мне нужно передать ему значение и запустить я использовал это в том же классе, он работает нормально ... может кто-нибудь сказать мне, где я не прав

Ответы [ 2 ]

7 голосов
/ 09 октября 2010

Вам необходимо привязать функцию-член к экземпляру:

boost::thread t1(boost::bind(&master::start, t, "exampl"));
0 голосов
/ 09 октября 2010

Решение Джеймса скопирует ваш главный объект.Если вы хотите отсортировать передачу по ссылке, то

boost::thread t1(boost::bind(&master::start, &t, "exampl"));

HTH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...