Помогите. Хотел написать програмульку для нахождение слова в массиве. Ничего не вышло

Вообщем вылазит какие то две ошибки

1)Серьезность Код Описание Проект Файл Строка Состояние подавления Подробности

Ошибка C2938 "std::_Invoke_result_t": не удалось специализировать шаблон псевдонима ДОРАБОТКА 15.5 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\algorithm 5092

2)Серьезность Код Описание Проект Файл Строка Состояние подавления Подробности

Ошибка C2794 type: не является прямым или косвенным базовым классом для "std::_Invoke_traits_zero<void,_Urng &>"

    with 

    [ 

        _Urng=int 

    ]   

ДОРАБОТКА 15.5 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\type_traits 1877

#include<iostream> 
#include<thread> 
#include<vector> 
#include<algorithm> 
#include<random> 
#include <mutex> 

int main() 
{ 
    std::random_device rd; 
    std::mt19937 gen(rd()); 
    int minv = 104; 
    int maxv = 111; 
    std::uniform_int_distribution<> distrib(minv, maxv); 
    std::vector<std::vector<char>> basic(1000, std::vector<char>(1000)); 
    for (size_t i = 0; i < 1000; i++) 
    { 
        for (size_t d = 0; d < 1000; d++) 
        { 
            basic[i][d] = distrib(minv, maxv); 
        } 
    } 
    std::mutex mtx; 
    std::vector<std::thread> threads; 
    std::vector<char> hello = { 'h','e','l','l','o' }; 
    for (const auto& dadli : basic) 
    { 
        threads.push_back(std::thread([&dadli, &hello, &mtx]() { 
            auto rows = dadli; // Копируем строку для каждого потока 
            auto HELLO = search(rows.begin(), rows.end(), hello.begin(), hello.end()); 
            if (HELLO != rows.end()) 
            { 
                std::lock_guard<std::mutex> lock(mtx); 
                for (size_t i = 0; i < 5 && HELLO != rows.end(); i++) 
                { 
                    std::cout << *HELLO++ << std::endl; 
                } 
            } 
            else 
            { 
                std::lock_guard<std::mutex> lock(mtx); 
                std::cout << "Такого элемента нет" << std::endl; 
            } 
            })); 
    } 
    for (auto& thr : threads) 
    { 
        thr.join(); 
    } 
    return 0; 
}

Ответы (0 шт):