大家好,我先簡略介紹一下code:
這是一個混合了template & function pointer的class method --
template<class T>
void
SynchList<T>::Apply(void (*func)(T))
{
lock->Acquire();
list->Apply(func);
lock->Release();
}
這是我打算利用function pointer呼叫的function --
SimpleThread(Thread *tmpThread)
{
int num;
for(num = 0; num < 5; num++)
{
cout << "***thread " << tmpThread->GetId() << " looped " << num << " times" << endl;
kernel->currentThread->Yield();
}
}
我現在有個叫做bathList的list --
SynchList<Thread *> *bathList = new SyncList<Thread *>;
這是我在主要程式區段中所執行的程式碼 --
bathList->Apply((void) (SimpleThread)(Thread *));
就是這一行每次compile的時候都會有錯誤訊息:
parse error before '*'
我是著改過很多次code,但是結果都是parse error before '*' 或是 ')' 等。不知道我是那裡寫錯了?
謝謝各為的協助