Я пытаюсь вызвать функцию, которая просматривает односвязный список, увеличивая каждую запись данных на единицу (записи данных шаблонизируются, но в данном случае типа char).
Как правильно вызвать мою функцию visit (), чтобы выполнить это?
Мой текущий вызов в связанном списке с именем sl - sl.visit ((IncreaseByOne) (c));
Я пытался использовать * перед вызовом incrementByOne и возиться с () '.
' '' c ++
template <class T>
void increaseByOne(T& x) {
x++;
}
'' '
'' 'c ++
template <class T>
void SortedList_LL<T>::visit(void(*fp)(T& data)) {
Node<T> *q;
T prev;
q = list.getHead();
for (q; q; q = q->next) {
prev = q->entry;
(*visit)(q->entry);
cout << "Value " << prev << " incremented to " << q->entry << endl;
}
}
' ''
Все записи данных (в настоящее время типа char) должны быть увеличены на 1. Я получаю сообщение об ошибке «main.cpp»: В функции 'int main ()': main.cpp: 81: 31: ошибка: недопустимое использование пустого выражения sl.visit ((IncreaseByOne) (c)); "