0
如何通過pthread_create將結構傳遞給我的函數?我一直得到的錯誤是低和高尚未定義,這將導致我相信結構沒有正確傳遞。我曾嘗試引用作爲arg1.lower低,我回錯誤是說我嘗試請求對非類類型爲void *的成員通過pthread將結構傳遞給函數
void * mergeSortThread(void *arg1){
std::ostringstream ostr;
ostr << "begin: " << lower << " " << upper << endl;
string message = ostr.str();
write(2, message.data(), message.length());
}
int main(int argc, char** argv)
{
struct MergeSortThreadArg
{
int * array;
int * temp;
int lower, upper;
};
pthread_attr_t attr;
pthread_attr_init(&attr);
int arr[20];
int temp[20];
MergeSortThreadArg arg;
arg.array = arr;
arg.temp = temp;
arg.lower = 0;
arg.upper = 19;
pthread_create(th, &attr, mergeSortThread, &arg);
pthread_join(th[z], NULL);
return 0;
}