【发布时间】:2014-10-20 17:16:45
【问题描述】:
我有一个连接到 c++11 lambda 的libsigc++ 信号。
sigc::signal<void, std::string> foo;
foo.connect([](string s) { cout << s << endl; });
foo.emit(string("Hello"));
我想将信号的返回类型从void 更改为非void
sigc::signal<int, std::string> foo;
foo.connect([](string s) { return s.size(); });
cout << foo.emit(string("Hello")) << endl;
这给出了一个错误:
不应该忽略的无效值
这种使用模式是否可以通过 lambdas 实现?
【问题讨论】: