[STL ] 如何casting list<struct Book> 為 (void*)
如何casting list<struct Book> 為 (void*)
請問要如何正確的將 list<struct Book> casting 為 (void*) 呢?
我轉換時都會出現下述的error msg
error: invalid conversion from
`void*(*)(std::list<Book, std::allocator<Book> >*)' to
`void*(*)(void*)'
error: initializing argument 3 of
`int pthread_create(pthread_t*, const pthread_attr_t*,
void*(*)(void*), void*)'
似乎是因為casting沒成功的原因
麻煩各位幫我看一下,該怎麼casting,謝謝
底下是我的code
int main()
{
list <struct Book> books;
pthread_t t;
pthread_create( &t, NULL, addbook, (void*) &books);
}
void *addbook(void* argc)
{
list <struct Book> * book_list = (list<struct Book>*) argc;
printf("book name = %s \n", ( book_list->back() ).name);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.216.117
Programming 近期熱門文章
PTT數位生活區 即時熱門文章