-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
当然,节点没有做任何事情,你不要在任何地方调用函数指针(我们可以看到)。 –