Не могу сделать обертку над disconnect, вот бессмысленный и беспощадный код, демонстрирующий суть проблемы.
#include <iostream>
#include <boost/signal.hpp>
#include <boost/bind.hpp>
using namespace std;
using namespace boost;
signal<void()> sig;
class Foo
{
public:
  void quit() { cout << "Foo::quit()" << endl; }
};
void connect(const signal<void()>::slot_function_type &slot)
{
  sig.connect(slot);
}
void disconnect(const signal<void()>::slot_function_type &slot)
{
  sig.disconnect(slot); // Вот эта строчка вызывает ошибку
}
void quit ()
{
  cout << "quit" << endl;
}
int
main(int argc, char *argv[])
{
  Foo f;
  connect(bind(&Foo::quit, f));
  connect(&quit);
  sig();
  return 0;
}
Как заставить это работать не знаю. Boost 1.39.0-2 из репозитория arch linux.

    
      Ответ на:
      
          комментарий
        от CL-USER 
  

    
      Ответ на:
      
          комментарий
        от kitov 
  
    
        Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
      
Похожие темы
- Форум Boost::signals и «внутренние» переменные объекта функции (2011)
 - Форум [C++][boost::signals2] Каковы сигнатуры операторов operator () в плюсах? (2010)
 - Форум C++/exceptions - деление на ноль не ловиццо, почему? (2006)
 - Форум boost::spirit и CharT != char (2005)
 - Форум boost.asio, boost.serialization (2010)
 
- Форум vectror<const A*> (2015)
 - Форум Изучаю Boost::singleton (2015)
 - Форум Не компилируется программа :( (2008)
 - Форум C++ простая программа (2014)
 - Форум не собирается QT (2006)