コンテナ(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」はデフォルトキャプチャ モードが
ここで間違っている何
とどのようにすることができますが指定されていないため、暗黙的に取得することができませんこの問題を解決しますか?
Downvotedを研究努力の不足のために。次回に尋ねる前に、少なくともGoogleにエラーメッセージを送ります。 –