В этом задании я создаю приложение, в котором пользователь вводит номер телефона, будь то буквы или нет.
Я пытался использовать const на картах или в векторе, чтобы увидеть, исправляет ли онпроблема, но я думаю, что это просто создало больше ошибок.
Вот код, который, как мне кажется, вызывает некоторые проблемы
std::vector<int> mappednums;
for (char& achar : word) {
auto itr = std::find_if(lookupmap.begin(), lookupmap.end(), [&](std::pair<int, std::vector<char>>& aPair)->bool
{
auto itr = std::find_if(aPair.second.begin(), aPair.second.end(), [&](char& ch) {
return ch == achar;
});
if (itr != aPair.second.end()) {
return true;
}
});
if (itr != lookupmap.end()) {
mappednums.push_back(itr->first);
}
Я ожидал, что это найти пару, но это дает мне ошибкуговоря, что он не может преобразовать аргумент 1 из кода выше.Вот ошибка:
'bool main::<lambda_06927067034dcc4076cc2514a7e290fe>::operator ()(std::pair<int,std::vector<char,std::allocator<char>>> &) const': cannot convert argument 1 from 'std::pair<const _Kty,_Ty>' to 'std::pair<int,std::vector<char,std::allocator<char>>> &'