Yes, I'm positive. Here's an even more simplified version. Sorry for any confusion.
class MenuItem
{
public:
typedef void (*function)();
MenuItem *subMenus;
function action;
function elevate;
MenuItem()
{
subMenus = NULL;
action = NULL;
elevate = NULL;
}
void elevateToSelf()
{
//do stuff here.
}
void setElevation(function menuItemElevate)
{
elevate = menuItemElevate;
}
void test()
{
subMenus[0].setElevation(elevateToSelf);
}
};
In file included from MenuItem.cpp:4:
/test.h: In member function 'void MenuItem::test()':
test.h:25: error: no matching function for call to 'MenuItem::setElevation(<unresolved overloaded function type>)'
/test.h:20: note: candidates are: void MenuItem::setElevation(void (*)())