Boost logo

Boost :

Subject: [boost] [signals2] -no instance of overloaded function
From: Tal Agmon (tal.boost_at_[hidden])
Date: 2011-01-28 06:27:02

Hi All,

I get error no instance of overloading ... when using <memory> shared_ptr
can anyone explain why?

tested on:
windows7 vc100

// not working
//#include <memory> // fail to compile
//using std::tr1::shared_ptr;
// works
#include <boost/shared_ptr.hpp> // works find
using boost::shared_ptr;


#include <iostream>
#include <boost/signals2/signal.hpp>
class Reporter {
    explicit Reporter(const std::string& s) : s_(s) {}
    void says() const { std::cout<< "news : " << s_ << std::endl; }
    std::string s_;

class NewsStation{
    void displayNews(const Reporter& r) const { r.says(); }

int main()
    using namespace boost::signals2;
    typedef signal<void (const Reporter&) > signal_type;

    shared_ptr<signal_type> signalPtr(new signal_type);
    typedef shared_ptr<NewsStation> news_station_ptr;
    Reporter tal("when using std:tr1::shared_ptr --> no instance of
overloaded function, matches the argument list) ");
    news_station_ptr newsStationPtr(new NewsStation);

    signal_type sigNews;
    sigNews.connect( signal_type::slot_type(
        &NewsStation::displayNews, newsStationPtr.get(),

Boost list run by bdawes at, gregod at, cpdaniel at, john at