results;
std::vector<std::future<int>> futures;
std::vector<std::thread> threads;
const int column_size = matrix[0].size();
for (size_t i = 0; i < column_size; i++) {
futures.push_back(std::async(SumColumnMatrix, matrix, i));
}
И есть такая функция
int ColumnSum(const std::vector<std::vector<int>>& matrix, const int& column_index) {
int sum = 0;
for (size_t j = 0; j < matrix.size(); ++j) {
sum += matrix[j][column_index];
}
return sum;
}
Выдаёт ошибку:"
Error (active) E0304 no instance of overloaded function "std::async" matches the argument list"
Не могу разобраться почему, по гайдам вроде бы правильно передаю, можете подсказать?
не используй std::async и std::future
А как тогда мне получить значение?
надо std::ref(matrix) и std::ref(...) наверное
Обсуждают сегодня