C ++ Boost Multithread, как передать объект класса в аргумент - PullRequest
0 голосов
/ 01 апреля 2011

У меня есть имя класса BasicExcelCell.Когда я его использую, это как вызывать

BasicExcelCell* c;
//Normal call
c->TTiTraceParserConv(TTiAsciiTraceOutputDL.GetBuffer(0));

//How to pass it the boost thread argument?
boost::thread t1(&YExcel::BasicExcelCell::TTiTraceParserConv,TTiAsciiTraceOutputDL.GetBuffer(0));

t1.join();

У меня было несколько способов, но я продолжал получать ошибку при компиляцииЛюбые советы, я ценю.Я видел несколько основных примеров из Google.

1 Ответ

3 голосов
/ 01 апреля 2011

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

                                                             This
                                                              ↓
boost::thread t1(&YExcel::BasicExcelCell::TTiTraceParserConv, c, TTiAsciiTraceOutputDL.GetBuffer(0));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...