I'm clearly doing something wrong here, but it all looks correct to me. Any ideas? For the most part I've removed everything except what is causing the error. It's a class that handles menu navigation on an LCD.
typedef void (*function)();
subMenus = NULL;
action = NULL;
elevate = NULL;
//do stuff here.
void call(function menuItemElevate)
elevate = menuItemElevate;
if(action != NULL)
else if(subMenus != NULL)
In file included from MenuItem.cpp:4:
/test.h: In member function 'void MenuItem::call(void (*)())':
test.h:29: error: no matching function for call to 'MenuItem::call(<unresolved overloaded function type>)'
/test.h:20: note: candidates are: void MenuItem::call(void (*)())