prog.cpp: In member function 'void CallBackManager::test()':
prog.cpp:26:20: error: ISO C++ forbids declaration of 'f' with no type [-fpermissive]
for (auto& f : _display_callback)
^
prog.cpp:26:24: error: range-based 'for' loops are not allowed in C++98 mode
for (auto& f : _display_callback)
^
prog.cpp:27:38: error: request for member 'second' in 'f', which is of non-class type 'int'
boost::get<DisplaySig>(f.second)();
^
prog.cpp:28:20: error: ISO C++ forbids declaration of 'f' with no type [-fpermissive]
for (auto& f : _mouse_callback)
^
prog.cpp:28:24: error: range-based 'for' loops are not allowed in C++98 mode
for (auto& f : _mouse_callback)
^
prog.cpp:29:36: error: request for member 'second' in 'f', which is of non-class type 'int'
boost::get<MouseSig>(f.second)(rand(), rand());
^
prog.cpp: In member function 'void CallBackManager::addDisplayCallback(int, CallBackManager::DisplaySig)':
prog.cpp:32:73: error: 'class std::map<int, boost::variant<boost::function<void()>, boost::function<void(int, int)> > >' has no member named 'emplace'
void addDisplayCallback(int hwnd, DisplaySig f) { _display_callback.emplace(hwnd, f); }
^
prog.cpp: In member function 'void CallBackManager::addMouseCallback(int, CallBackManager::MouseSig)':
prog.cpp:33:71: error: 'class std::map<int, boost::variant<boost::function<void()>, boost::function<void(int, int)> > >' has no member named 'emplace'
void addMouseCallback(int hwnd, MouseSig f) { _mouse_callback.emplace(hwnd, f); }
^