有一个名叫inner_product
的函数,但我在使用它时失败了。我需要为不同的矩阵和向量多次使用这个函数。以下是我的当前代码:
std::vector<vector<int>> matrix_a = {{0, 0},
{0, 1},
{1, 0},
{1, 1}};
std::vector<float> vector_b = {0.5, 0.8};
dot_produt(matrix_a, vettor_b);
float dot_produt(vector<vector<int>> e, vector<float> p){
return std::inner_product(std::begin(e), std::end(e), std::begin(p), 0.0);
}
这个过程类似于:
(0.5 * 0) + (0.8 * 0) + (0.5 * 0) + (0.8 * 1)... ...
期望的输出:
2.6
错误:
no match for 'operator*' (operand types are 'std::vector<int>' and 'float')
__init = __init + (*__first1 * *__first2);
vector<int>
和float
并不是可以进行算术比较的类型? - Asteroids With Wings