1
我得到了下面的函數建立時生成錯誤信號slot_type:的boost ::與模板
template <class T> class Event {
public:
typedef boost::signal<void (void*, const T)> signal_t;
typedef boost::signals::connection connection_t;
public:
Event() { }
connection_t connect(signal_t::slot_type subscriber){
return signal.connect(subscriber);
}
}
錯誤:
error: 'class boost::signal<void()(void*, T), boost::last_value<typename boost::function_traits<void()(void*, T)>::result_type>, int, std::less<int>, boost::function<void()(void*, T)> >::slot_type' is not a type
我相信它有什麼做的事實上它是模板化的,但我不知道如何解決它。我試過添加,這樣
connection_t connect(signal_t::slot_type<T> subscriber)
但是這只是產生了另一個錯誤。
在某處粘貼'typename'關鍵字 - 通常有幫助;) – sje397 2013-03-22 13:23:05
還有什麼錯誤? – bobah 2013-03-22 13:24:02