-1
以下のコードを使用してC++ 11の2つの2Dベクトル間に要素ごとの乗算(。*)を実行しようとしていますが、エラーが発生していますError 'std :: vector>'から 'const int &'に引き数1を変換できません。私は何を理解できませんでしたか?(訳注:実際の問題は?C++での2Dベクトルの要素ごとの乗算11
// Example program
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <functional>
#include <iterator>
int main()
{
std::vector<std::vector<int32_t>> Route = { { 1,2 },{ 3,4 } };
std::vector<std::vector<int32_t>> Spectrum = { { 2,2 },{ 3,3 } };
std::vector<std::vector<int32_t>> score;
//and do element-wise multiplication of Spectrum and Route i.e. Spectrum .* Route
std::transform(Spectrum.begin() + 1, Spectrum.end(), Route.begin() + 1, std::back_inserter(score), std::multiplies<int32_t>());
std::vector< std::vector<int32_t> >::iterator row;
std::vector<int32_t>::iterator col;
for (row = score.begin(); row != score.end(); row++) {
for (col = row->begin() + 1; col != row->end(); col++) {
std::cout << *col << std::endl;
}
}
}
'std :: multiplies 'を使って2つのベクトルを乗算しようとしています。 –
Zereges
私は今問題を見る。指摘してくれてありがとう。 – user109260