如何获得boost :: signal的返回类型?

时间:2010-07-13 15:42:01

标签: c++ templates boost boost-signals

我使用boost::signal使用不同的功能签名和不同的组合器。 在一个类似于我想要获得某个信号声明的返回的类中。

template<typename signal_type> class MyClass
{

    signal_type mSignal;

    signal_type::result_type getResult() { return mSignal(); }

}

signal_type::result_type不起作用。那么有没有办法获得返回类型?

1 个答案:

答案 0 :(得分:2)

您需要typename才能使用相关类型:

typename signal_type::result_type getResult() { return mSignal(); }

假定依赖名称(即依赖于模板参数)

  • 不是名称类型,除非前缀为typename
  • 不是名称模板,除非立即以template为前缀。