У меня есть структура для хранения функции обратного вызова:
template<class T>
struct CommandGlobal : CommandBase
{
typedef boost::function<T ()> Command;
Command comm;
virtual T Execute() const
{
if(comm)
return comm();
return NULL;
}
};
Кажется, что он должен работать нормально, кроме случаев, когда T недействителен, потому что функция Execute хочет вернуть значение.
Какое наилучшее решение этой проблемы?
Спасибо!