【发布时间】:2014-08-26 03:19:17
【问题描述】:
virtual Answer<const Taaal& const> askWho(bool(const Taaal& const)) = 0;
virtual Answer<const Taaal& const> askWho(const Taaal& const t) {
return askWho([&](auto q) {
return q == t;
});
}
因为“没有重载函数的实例与参数列表匹配”而被拒绝(此外,我被告知 auto 是不允许的,但用显式类型替换它会留下第一个问题)
Taaal 是声明这些方法的(抽象)类。答案是#included 来自另一个标头,它的定义无关紧要。
【问题讨论】:
-
函数指针应该如何存储 lambda 的状态?提示:不能。
-
autolambda 中的参数将在 C++14 中可用,而不是在 C++11 中。 -
将 auto 更改为
const Taaal& const仍然存在第一个问题,所以为了简洁起见,我在帖子中这样写。 -
@chris:你几乎总是在 cmets 中回答问题。你为什么不写一个答案并得到我的支持?
-
@Nawaz,如果这是一个答案,我会觉得不得不花时间充实它而不是去睡觉:/
标签: c++ templates lambda functor overloading