【发布时间】:2016-10-08 21:25:41
【问题描述】:
Given 是一个模板函数,它检查存储在容器中的某些元素(由 numElems 指定)是否等于任何传递的元素 elems。
template<typename MyType>
bool Container<MyType>::elemsEqual(const int & numElems, const std::initializer_list<MyType>& elems)
{
for (int i = 0; i < numElems; i++) {
const MyType& currElem = getElem(i);
if (std::none_of(elems.begin(), elems.end(), [](MyType& elem) {return currElem == elem; })) {
return false;
}
}
return true;
}
编译中止并显示错误消息:
'currElem' 不能被隐式捕获,因为没有默认捕获 已指定模式
这里出了什么问题,我该如何解决这个问题?
【问题讨论】:
-
因缺乏研究努力而被否决。至少在下次询问之前谷歌错误消息。