Я использую функцию из файла заголовка, который предварительно определен для упражнения, которое я выполняю. В основном у меня есть;Нет соответствующей функции
defineClickListener(clickAction, graph);
clickAction является функцией я сделал и имеет прототип выше основной и граф является экземпляром класса pathfindergraph. В заголовке pathfindergraphics, который включен, он говорит;
/**
* Function: defineClickListener
* Usage: defineClickListener(clickFn);
* defineClickListener(clickFn, data);
* ------------------------------------------
* Designates a function that will be called whenever the user
* clicks the mouse in the graphics window. If a click listener
* has been specified by the program, the event loop will invoke
*
* clickFn(pt)
*
* or
*
* clickFn(pt, data)
*
* depending on whether the data parameter is supplied. In either
* case, pt is the GPoint at which the click occurred and data
* is a parameter of any type appropriate to the application. The
* data parameter is passed by reference, so that the click function
* can modify the program state.
*/
void defineClickListener(void (*actionFn)(const GPoint& pt));
template <typename ClientType>
void defineClickListener(void (*actionFn)(const GPoint& pt, ClientType & data), ClientType & data);
Насколько я могу видеть, я использую defineClickListener правильно, но я получаю сообщение об ошибке, что не говорит «нет функции соответствия для вызова„defineClickListener“». Не знаете, что я делаю неправильно - какие-то идеи?
Попробуйте позвонить в вашу функцию с 'defineClickListener <Тип клиента> (..) ' –
Каким будет тип клиента? Я попробовал PathfinderGraph, но это не сработало. –
Я уже использовал addButton («Карта», mapAction, graph); который выглядит очень похожим в заголовке, таким же образом, и он отлично работает ... –