template을 사용하는 함수를 pthread로 실행하는 법
글쓴이: 은현 / 작성시간: 화, 2004/10/05 - 10:59오후
머지 소트를 만들고 있습니다.
SMP에서 돌리는 것이여서 멀티 쓰레도로 작성하고 있는데, 문제가 생겼습니다.
정렬을 int 형과 string형의 두가지로 이루어 지는 관계로 template 을 사용하여 함수를 만들었습니다. 그런데, pthread_create() 로 template을 사용하여 구현한 함수를 불러오게 코드를 짜면,
mergesort.cpp:40: error: no matches converting function `mergeSort1' to type `void*(*)(void*)' mergesort.cpp:15: error: candidates are: template<class Comparable> void* mergeSort1(void*)
의 에러가 생깁니다.
template 을 사용안하면 제대로 컴파일 됩니다.
어떻게 해 주어야 하는지요?
Forums:
템플릿 사용하고 pthread하고 아무런 상관이 없습니다.merg
템플릿 사용하고 pthread하고 아무런 상관이 없습니다.
mergesort의 compare function이 void* (*) void(*) 형의 함수의 포인터를 입력으로 요구하는데 넘겨주신 함수의 포인터는
tempate<class Comparable>void* ,,, 이라는 이야기 이군요..요구되는것과 넘겨주신것이 달라서 나는 에러이므로 당연한결과입니다.
Life rushes on, we are distracted
댓글 달기