-1
我想了解函數指針和鏈表。鏈表和函數指針
在類(如私有)我有
int (*m_pointerToFunction)(int);
和
void List::apply_all(int (*pointerToFunction) (int)){
m_pointerToFunction = pointerToFunction;
}
和
int triple(int i)
{
return 3*i;
}
被稱爲與該列表L2與
L2.apply_all(triple);
我在這裏錯過了什麼部分?它似乎沒有對列表中的節點進行任何操作。
編輯:問題解決!作爲評論和答案,我從來沒有對節點做過任何事情。我現在遍歷列表,它工作正常,謝謝大家:)
void List::apply_all(int (*pointerToFunction) (int)){
Node *temp = head;
while(temp){
temp->value = pointerToFunction(temp->value);
temp = temp->next;
}
}
您必須迭代您的列表並以某種方式在每個列表項上應用該函數。該代碼缺失。 – jxh
當然,節點沒有做任何事情,你不要在任何地方調用函數指針(我們可以看到)。 –